Create Spotter template based on default and include all modifications
This commit is contained in:
parent
208c9708dd
commit
8a51f8207f
@ -41,8 +41,8 @@ envsubst <${SOURCE_DIR}/sahana/srv/sahana/applications/eden/models/000_config.py
|
|||||||
cp ${SOURCE_DIR}/sahana/srv/sahana/applications/eden/models/00_settings.py /srv/sahana/applications/eden/models/00_settings.py
|
cp ${SOURCE_DIR}/sahana/srv/sahana/applications/eden/models/00_settings.py /srv/sahana/applications/eden/models/00_settings.py
|
||||||
export SAHANA_ADMIN_USER=admin@example.com
|
export SAHANA_ADMIN_USER=admin@example.com
|
||||||
export SAHANA_ADMIN_PWD=$(head -c 12 /dev/urandom | base64)
|
export SAHANA_ADMIN_PWD=$(head -c 12 /dev/urandom | base64)
|
||||||
cp ${SOURCE_DIR}/sahana/srv/sahana/applications/eden/modules/templates/default/config.py /srv/sahana/applications/eden/modules/templates/default/config.py
|
cp -r ${SOURCE_DIR}/sahana/srv/sahana/applications/eden/modules/templates/Spotter /srv/sahana/applications/eden/modules/templates/
|
||||||
envsubst <${SOURCE_DIR}/sahana/srv/sahana/applications/eden/modules/templates/default/users/masterUsers.csv >/srv/sahana/applications/eden/modules/templates/default/users/masterUsers.csv
|
envsubst <${SOURCE_DIR}/sahana/srv/sahana/applications/eden/modules/templates/Spotter/masterUsers.csv >/srv/sahana/applications/eden/modules/templates/Spotter/masterUsers.csv
|
||||||
|
|
||||||
# Create OS user
|
# Create OS user
|
||||||
adduser --system --group --home /srv/sahana --shell /bin/false sahana
|
adduser --system --group --home /srv/sahana --shell /bin/false sahana
|
||||||
|
@ -23,7 +23,7 @@ FINISHED_EDITING_CONFIG_FILE = True
|
|||||||
# - Workflows
|
# - Workflows
|
||||||
# - Theme
|
# - Theme
|
||||||
# - note that you should restart your web2py after changing this setting
|
# - note that you should restart your web2py after changing this setting
|
||||||
settings.base.template = "default"
|
settings.base.template = "Spotter"
|
||||||
|
|
||||||
# Database settings
|
# Database settings
|
||||||
# Uncomment to use a different database, other than sqlite
|
# Uncomment to use a different database, other than sqlite
|
||||||
@ -236,7 +236,7 @@ settings.import_template()
|
|||||||
# e.g.
|
# e.g.
|
||||||
#settings.base.system_name = T("Sahana TEST")
|
#settings.base.system_name = T("Sahana TEST")
|
||||||
#settings.base.prepopulate = ("MY_TEMPLATE_ONLY")
|
#settings.base.prepopulate = ("MY_TEMPLATE_ONLY")
|
||||||
settings.base.prepopulate += ("default", "default/users")
|
#settings.base.prepopulate += ("default", "default/users")
|
||||||
#settings.base.theme = "default"
|
#settings.base.theme = "default"
|
||||||
#settings.L10n.default_language = "en"
|
#settings.L10n.default_language = "en"
|
||||||
#settings.security.policy = 7 # Organisation-ACLs
|
#settings.security.policy = 7 # Organisation-ACLs
|
||||||
|
@ -0,0 +1,11 @@
|
|||||||
|
"Catalog","Category Code","Category","Item Code","Item Name","Unit of Measure","Pack","Pack2 Quantity","Notes"
|
||||||
|
"Default","Agriculture","Agriculture","AgRice20","Rice Seed","sack20kg",,,"This should provide enough seed for 1 Hectare of land"
|
||||||
|
"Default","Food","Food","FdRice5","Rice","kg","sack",5,"This should feed 12 people for 1 day"
|
||||||
|
"Default","Food","Food","FdRice50","Rice","kg","sack",50,"This should feed 125 people for 1 day"
|
||||||
|
"Default","Food","Food","FdCookKit","Cooking Utensils","kit",,,"Cooking Utensils for a Household"
|
||||||
|
"Default","Health","Health","HlFAidKit","First Aid Kit","kit",,,"This should provide basic first aid (bandages, oral rehydration salts, etc) for 100 people to self-administer"
|
||||||
|
"Default","Health","Health","HlMedKit","Medical Kit","kit",,,"This should provide medical supplies (medicines, vaccines) for a professional clinic to provide assistance to a total community of 10,000 people."
|
||||||
|
"Default","Shelter","Shelter","ShTentKit","Shelter Kit","kit",,,"This kit is suitable to provide emergency repair to a damaged home. It contains a tarpaulin, zinc sheet, wooden poles, hammer & nails"
|
||||||
|
"Default","Shelter","Shelter","ShTent","Tent","piece",,,"This should house a family of up to 8 people"
|
||||||
|
"Default","WASH","WASH","WSHygKit","Hygiene Kit","kit",,,"Personal Hygiene supplies for 100 Households (5 persons/household): Each get 2x Buckets, 10x Soap, Cotton cloth"
|
||||||
|
"Default","WASH","WASH","WswPure","Water Purification Sachets","kit",,,"Designed to provide a 1st phase drinking water purification solution at the household level. Contains 600 sachets to provide sufficient drinking water (4l) for 100 people for 30 days."
|
|
@ -0,0 +1,4 @@
|
|||||||
|
Type,Name,Priority
|
||||||
|
Default,"Level 1",3
|
||||||
|
Default,"Level 2",2
|
||||||
|
Default,"Level 3",1
|
|
@ -0,0 +1,11 @@
|
|||||||
|
Type,Name,Comments
|
||||||
|
"Default","Disaster Psychology",
|
||||||
|
"Default","Fire Suppression",
|
||||||
|
"Default","Hazmat",
|
||||||
|
"Default","Incident Command",
|
||||||
|
"Default","Language - American Sign Language",
|
||||||
|
"Default","Language - French",
|
||||||
|
"Default","Language - Spanish",
|
||||||
|
"Default","Medical Treatment",
|
||||||
|
"Default","Security",
|
||||||
|
"Default","Scene Sizeup",
|
|
@ -0,0 +1,14 @@
|
|||||||
|
Type,Name,Comments
|
||||||
|
Driving License,"Driving - Motorcycle"
|
||||||
|
Driving License,"Driving - Car"
|
||||||
|
Driving License,"Driving - Class A: Combination (tractor plus trailer) vehicle","26,000 lb (11,790 kg) or more. Includes split (coupled) buses."
|
||||||
|
Driving License,"Driving - Class B: Single (straight) vehicle","26,000 lb (11,790 kg) or more (includes most buses including articulated buses). Also includes combination vehicles for commercial use weighing less than 26,000 lb GVW."
|
||||||
|
Driving License,"Driving - Class C: Commercial vehicle","that doesn't fit classes A or B but is placarded for hazardous materials or is intended to carry more than 15 persons (excluding Georgia). May include heavy-duty non-commercial vehicles with trailers capable of carrying over 16,000 lb, and all vehicles that can carry over 16,000 lb but not more than 25,999 lb."
|
||||||
|
Driving License,"Driving - P: Passenger Transport","Required to drive a bus that carries 16 or more persons"
|
||||||
|
Driving License,"Driving - H: Hazardous Materials","Also requires a TSA criminal background check as well as a written exam. The driver must be a US Citizen or permanent lawful resident to obtain an H or X endorsement."
|
||||||
|
Driving License,"Driving - M: Metal coil"
|
||||||
|
Driving License,"Driving - N: Tank Vehicles","Required for carrying liquids in bulk"
|
||||||
|
Driving License,"Driving - T: Double/ Triple Trailers (Road trains)","Class A licenses only"
|
||||||
|
Driving License,"Driving - X: Hazardous Materials and Tank Combination"," Also requires a TSA criminal background check as well as a written exam. The driver must be a US Citizen or permanent lawful resident to obtain an H or X endorsement."
|
||||||
|
Driving License,"Driving - L: Air Brakes"
|
||||||
|
Driving License,"Driving - S: School Bus","In addition to a standard bus endorsement, additional TSA and CORI background checks are required."
|
Can't render this file because it has a wrong number of fields in line 2.
|
@ -0,0 +1,23 @@
|
|||||||
|
Type,Name,Comments
|
||||||
|
Driving License,"Driving - Motorcycle"
|
||||||
|
Driving License,"Driving - Car"
|
||||||
|
Driving License,"Driving - Class AM (14 years)","Two-wheel mopeds, Three-wheeled vehicles, light quadricycles. Maximum speed 45 km/h and engine capacity of less than or equal to 50 cm cubic"
|
||||||
|
Driving License,"Driving - Class A1 (16 years)","Motorcycles, Tricycles, Agricultural Machinery. Maximum power 11 kW (Motorcycles) e 15 kW (Tricycles)"
|
||||||
|
Driving License,"Driving - Class A2 (18 years)","Motorcycles. Power not exceeding 35 kW"
|
||||||
|
Driving License,"Driving - Class A (20 o 21 years)","Tricycles or Motorcycles. Power greater than 15 kW, top speed exceeding 45 km/h"
|
||||||
|
Driving License,"Driving - Class B1 (16 years)","Quadricycles. Mass less or equal to 400 kg (550 kg for vehicles used for the transport of goods, maximum engine power less than or equal to 15 kW"
|
||||||
|
Driving License,"Driving - Class B/B96 (18 years)","Vehicles or machines Agricole. Max mass authorized 3500 kg and designed for the transport of not more than eight persons in addition to the driver. It can be combined with a trailer."
|
||||||
|
Driving License,"Driving - Class BE (18 years)","Vehicles with a towing vehicle in category B and a trailer or semitrailer. Maximum mass of the trailer does not exceed 3500 kg."
|
||||||
|
Driving License,"Driving - Class C1 (18 years)","Vehicles designed for the transport of not more than eight persons in addition to the driver. Maximum authorized mass exceeding 3500 kg, but not exceeding 7500 kg; can be combined with a trailer having a maximum authorized mass does not exceed 750 kg."
|
||||||
|
Driving License,"Driving - Class C1E (18 years)","Vehicles with engine category C1 or B. Maximum authorized mass of the trailer is 750 Kg (C1) o 3500 Kg (B), overall should not exceed 12000 Kg"
|
||||||
|
Driving License,"Driving - Class C (21 years)","Vehicles for the transport of not more than eight persons in addition to the driver. It can be combined with a trailer having a maximum authorized mass does not exceed 750 kg"
|
||||||
|
Driving License,"Driving - Class CE (21 years)","Vehicles with engine type C and with a trailer. Maximum authorized mass 750 kg"
|
||||||
|
Driving License,"Driving - Class D1 (21 years)","Vehicles designed for the transport of not more than 16 people, in addition to the driver. Maximum length of 8 meters, can be combined with a trailer having a maximum authorized mass does not exceed 750 kg."
|
||||||
|
Driving License,"Driving - Class D1E (21 years)","Vehicles with engine type D1 and its trailer. Maximum authorized mass of the trailer is 750 Kg"
|
||||||
|
Driving License,"Driving - Class D (24 years)","Vehicles designed for the transport of more than eight persons in addition to the driver, can be coupled to a trailer. Maximum authorized mass of the trailer is 750 kg"
|
||||||
|
Driving License,"Driving - Class DE (24 years)","Vehicles with engine type D and a trailer. Maximum authorized mass of the trailer is 750 Kg"
|
||||||
|
Driving License,"Driving - Class KA (21 years)","Karts of total mass until ad 1,3 tons. Rental service with driver."
|
||||||
|
Driving License,"Driving - Class KB (21 years)","Karts of total mass over 1,3 tons and taxi. Rental service with driver."
|
||||||
|
Driving License,"Driving - Class CQC Person (21 years)","Vehicles of category D1, D e/o D+E in public service or line rental with driver"
|
||||||
|
Driving License,"Driving - Class CQC Goods (21 years)","Vehicles of category C1, C e/o C+E for professional transport"
|
||||||
|
Driving License,"Driving - Class CFP","ADR Class B / A o B+explosives / B+radioactive (Vehicles carrying dangerous goods)"
|
Can't render this file because it has a wrong number of fields in line 2.
|
@ -0,0 +1,8 @@
|
|||||||
|
Type,Name,Priority
|
||||||
|
Languages,"No",1
|
||||||
|
Languages,"Bad",2
|
||||||
|
Languages,"Fair",3
|
||||||
|
Languages,"Average",4
|
||||||
|
Languages,"Good",5
|
||||||
|
Languages,"Excellent",6
|
||||||
|
Languages,"Fluent",7
|
|
@ -0,0 +1,11 @@
|
|||||||
|
Type,Name,Comments
|
||||||
|
Languages,"English - Spoken"
|
||||||
|
Languages,"English - Written"
|
||||||
|
Languages,"French - Spoken"
|
||||||
|
Languages,"French - Written"
|
||||||
|
Languages,"Spanish - Spoken"
|
||||||
|
Languages,"Spanish - Written"
|
||||||
|
Languages,"Arabic - Spoken"
|
||||||
|
Languages,"Arabic - Written"
|
||||||
|
Languages,"Chinese - Spoken"
|
||||||
|
Languages,"Chinese - Written"
|
Can't render this file because it has a wrong number of fields in line 2.
|
@ -0,0 +1,279 @@
|
|||||||
|
"Catalog","Category Code","Category","Item Name","Unit of Measure","Pack","Pack Quantity","Pack2","Pack2 Quantity","Pack3","Pack3 Quantity","Comments"
|
||||||
|
"Standard","CLOTHING","Appliances, Clothing, and Furniture","Childrens Clothing","ea",,,,,,,"priority"
|
||||||
|
"Standard","CLOTHING","Appliances, Clothing, and Furniture","Furniture","ea",,,,,,,
|
||||||
|
"Standard","CLOTHING","Appliances, Clothing, and Furniture","Household appliance","ea",,,,,,,
|
||||||
|
"Standard","CLOTHING","Appliances, Clothing, and Furniture","Linens","ea",,,,,,,"priority"
|
||||||
|
"Standard","CLOTHING","Appliances, Clothing, and Furniture","Mens Clothing","ea",,,,,,,"priority"
|
||||||
|
"Standard","CLOTHING","Appliances, Clothing, and Furniture","Womens Clothing","ea",,,,,,,"priority"
|
||||||
|
"Standard","MATERIALS","Building Materials","Asphalt","cy",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Blinds","ea",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Cabinet","ea",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Carpeting","sy",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Concrete","cy",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Counter Top","ea",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Door","ea",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Drywall","sf",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Ducting","lf",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Electrical Materials","ea",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Faucet","ea",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Fencing","lf",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Grips & Handles","ea",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","HVAC Tools","ea",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Levels","ea",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Loader","ea",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Lumber","ea",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Manholes","ea",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Paint","gal",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","PayLoader","ea",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Pipe","lf",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Pipe Accessories","ea",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Pipe Repair Kits","ea",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Polymer/Setting Aid","ea",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Roofing Materials","sq",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Sand","cy",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Sand Bags","ea",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Screens","ea",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Sink","ea",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Steel","lbs",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Sulfur Dioxide","cy",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Tarps","ea",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Tile","sf",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Toilet","ea",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Tub","ea",,,,,,,
|
||||||
|
"Standard","MATERIALS","Building Materials","Windows","ea",,,,,,,
|
||||||
|
"Standard","$","Cash","Bank Cards","$",,,,,,,
|
||||||
|
"Standard","$","Cash","Check","$",,,,,,,
|
||||||
|
"Standard","$","Cash","Domestic Currency","$",,,,,,,"priority"
|
||||||
|
"Standard","$","Cash","Foreign currency","$ equivalent",,,,,,,
|
||||||
|
"Standard","$","Cash","Vouchers","$",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Aerator","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Air Compressor","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Air Conditioner/Heater","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Air Cooled Chiller Unit","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Air Curtain Burner","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Air Supply","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Aircraft","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Ambulance & Equipment","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","ATM","ea",,,,,,,"Cash Dispenser"
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Auger","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Barge","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Barricades","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Beacon","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Boat","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Bolt Cutters","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Boots","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Box Blade","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Breaker","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Broom","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Bucket","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Cabling","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Cage","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Camera","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Camera Snakes","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Carbon","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Chain Saw","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Chipper","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Chlorination Equipment","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Chlorination/Dechlorination ","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Compactor","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Computer (Laptops, Monitors, Cables, PC's)","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Concrete Grinder","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Copier","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Crane","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Cutter","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Dehumidifier","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Derrick","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Dock Plates","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Dozer","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Drywall Tools","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Dumpster","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Electrical panel","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Excavator","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Face Masks","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Fan","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Fax Machine","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Field Rake","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Fire Hydrant","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Fire Pump","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Fire Suppression","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Flashlight","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Flotation Device","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Fork Lift","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Furnace","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Garbage Can","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Generator","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Generator Cable","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Gloves","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","GPS / Transponder","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Grader","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Grader Blade","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Hardhat","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Heater","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Helicopter","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Helmet","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Hose","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Ice Machine","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Jackhammer","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Jaws of Life","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Laboratory/Sampling Equipment","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Ladder","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Life","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Light Plant","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Light Tower","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Lighting","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Megaphone/Loudspeaker","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Message Board","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Metal Detector","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Mixer","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Mop","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Mower","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Mulcher","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Pallet","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Pallet Grabber","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Pallet Jack","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Phone","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Phone Line","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Plastic Liners","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Pliers","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Plumbing Tools","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Poles","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Power Cord","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Power Distribution Box","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Power Line","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Power Supply","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","PPE","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Pressure Washer","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Printer","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Projector","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Pump","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Pump Extender","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Pump System","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Radio","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Rope","lf",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Satellite","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Saw","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Scanner","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Scraper","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Screwdriver","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Sensor","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Shovel","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Shrinkwrap","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Sign","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Snow Thrower","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Solids Processing","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Sprayer","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Strainers/T-Joints/Elbows","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Stretcher","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Striking Tools","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Striper","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Sweeper","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Table","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Tamper Plate","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Tank","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Tent","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Tire Balancer","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Tire Changer","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Topdresser","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Towels","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Tractor","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Transformer","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Traprake","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Trench Box","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Trencher","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Trowel","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Tub Grinder","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Utencils","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Vacuum","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Valves","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Vehicles","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Ventilator","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Vibrator","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Video Conferencing","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Video Transmitter","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Walkers","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Water Cooler","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Water Purification System","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Welder","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Well Equipment","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Wheelchair","ea",,,,,,,
|
||||||
|
"Standard","EQUIP","Equipment & Tools","Wrench","ea",,,,,,,
|
||||||
|
"Standard","FACILITY","Facilities","Agriculture Laboratory","ea",,,,,,,
|
||||||
|
"Standard","FACILITY","Facilities","Airport","ea",,,,,,,
|
||||||
|
"Standard","FACILITY","Facilities","Animal Feedlot","ea",,,,,,,
|
||||||
|
"Standard","FACILITY","Facilities","Animal Shelter","ea",,,,,,,
|
||||||
|
"Standard","FACILITY","Facilities","Barn","ea",,,,,,,
|
||||||
|
"Standard","FACILITY","Facilities","Cold Storage","ea",,,,,,,
|
||||||
|
"Standard","FACILITY","Facilities","Empty Lot","ea",,,,,,,
|
||||||
|
"Standard","FACILITY","Facilities","Grain Storage","ea",,,,,,,
|
||||||
|
"Standard","FACILITY","Facilities","Hand Wash Station","ea",,,,,,,
|
||||||
|
"Standard","FACILITY","Facilities","Mobile Kitchen","ea",,,,,,,
|
||||||
|
"Standard","FACILITY","Facilities","Office","ea",,,,,,,
|
||||||
|
"Standard","FACILITY","Facilities","Other Facilities","ea",,,,,,,
|
||||||
|
"Standard","FACILITY","Facilities","Rail Station","ea",,,,,,,
|
||||||
|
"Standard","FACILITY","Facilities","Shelter","ea",,,,,,,
|
||||||
|
"Standard","FACILITY","Facilities","Staging","ea",,,,,,,
|
||||||
|
"Standard","FACILITY","Facilities","Storage","ea",,,,,,,
|
||||||
|
"Standard","FOOD","Food & Water","Animal Feed","lbs",,,,,,,
|
||||||
|
"Standard","FOOD","Food & Water","Canned/Dried Food","lbs",,,,,,,"priority"
|
||||||
|
"Standard","FOOD","Food & Water","Ice","lbs",,,,,,,"priority"
|
||||||
|
"Standard","FOOD","Food & Water","Infant Formula","lbs",,,,,,,"priority"
|
||||||
|
"Standard","FOOD","Food & Water","Non-Potable Water","gal",,,,,,,
|
||||||
|
"Standard","FOOD","Food & Water","Perishable Food","lbs",,,,,,,"priority"
|
||||||
|
"Standard","FOOD","Food & Water","Potable Water","gal",,,,,,,"priority"
|
||||||
|
"Standard","FUEL","Fuel","Aviation","gal",,,,,,,
|
||||||
|
"Standard","FUEL","Fuel","Diesel","gal",,,,,,,
|
||||||
|
"Standard","FUEL","Fuel","Gasoline","gal",,,,,,,"priority"
|
||||||
|
"Standard","FUEL","Fuel","Heating Oil","gal",,,,,,,
|
||||||
|
"Standard","FUEL","Fuel","Liquid Propane","gal",,,,,,,"priority"
|
||||||
|
"Standard","FUEL","Fuel","Natural Gas","gal",,,,,,,
|
||||||
|
"Standard","SUPPLIES","General supplies","Anticeptic","ea",,,,,,,
|
||||||
|
"Standard","SUPPLIES","General supplies","Bandages","ea",,,,,,,
|
||||||
|
"Standard","SUPPLIES","General supplies","Batteries","ea",,,,,,,
|
||||||
|
"Standard","SUPPLIES","General supplies","Body Bags","ea",,,,,,,
|
||||||
|
"Standard","SUPPLIES","General supplies","Boxes","ea",,,,,,,
|
||||||
|
"Standard","SUPPLIES","General supplies","Cane","ea",,,,,,,
|
||||||
|
"Standard","SUPPLIES","General supplies","Cleaners","ea",,,,,,,"priority"
|
||||||
|
"Standard","SUPPLIES","General supplies","Crutches","ea",,,,,,,
|
||||||
|
"Standard","SUPPLIES","General supplies","Defibrilator","ea",,,,,,,
|
||||||
|
"Standard","SUPPLIES","General supplies","Diapers","dz",,,,,,,
|
||||||
|
"Standard","SUPPLIES","General supplies","Hearing Aid","ea",,,,,,,
|
||||||
|
"Standard","SUPPLIES","General supplies","ID Badges","ea",,,,,,,
|
||||||
|
"Standard","SUPPLIES","General supplies","Insect Repellant","ea",,,,,,,
|
||||||
|
"Standard","MEDICAL","Medical supplies","Office Supplies","ea",,,,,,,
|
||||||
|
"Standard","MEDICAL","Medical supplies","Plastic Sheeting","roll",,,,,,,"priority"
|
||||||
|
"Standard","MEDICAL","Medical supplies","Tape","roll",,,,,,,
|
||||||
|
"Standard","MEDICAL","Medical supplies","Tarps","ea",,,,,,,"priority"
|
||||||
|
"Standard","MEDICAL","Medical supplies","Toiletries","ea",,,,,,,"priority"
|
||||||
|
"Standard","MEDICAL","Medical supplies","Towels","ea",,,,,,,
|
||||||
|
"Standard","MEDICAL","Medical supplies","Trash Bags","bx",,,,,,,"priority"
|
||||||
|
"Standard","MEDICAL","Medical supplies","Ventilator","ea",,,,,,,
|
||||||
|
"Standard","MEDICAL","Medical supplies","Wheelchair","ea",,,,,,,
|
||||||
|
"Standard","OTHER","Other","Other","ea",,,,,,,
|
||||||
|
"Standard","SERVICES","Services","Accounting","hour","day",8,"week",40,"month",160,
|
||||||
|
"Standard","SERVICES","Services","Administrative","hour","day",8,"week",40,"month",160,
|
||||||
|
"Standard","SERVICES","Services","Architecture","hour","day",8,"week",40,"month",160,
|
||||||
|
"Standard","SERVICES","Services","Automotive repair","hour","day",8,"week",40,"month",160,
|
||||||
|
"Standard","SERVICES","Services","Care and shelter","hour","day",8,"week",40,"month",160,"priority"
|
||||||
|
"Standard","SERVICES","Services","Catering","hour","day",8,"week",40,"month",160,
|
||||||
|
"Standard","SERVICES","Services","Communications","hour","day",8,"week",40,"month",160,
|
||||||
|
"Standard","SERVICES","Services","Construction","hour","day",8,"week",40,"month",160,
|
||||||
|
"Standard","SERVICES","Services","Debris removal","hour","day",8,"week",40,"month",160,"priority"
|
||||||
|
"Standard","SERVICES","Services","Demolition","hour","day",8,"week",40,"month",160,
|
||||||
|
"Standard","SERVICES","Services","Engineering","hour","day",8,"week",40,"month",160,"priority"
|
||||||
|
"Standard","SERVICES","Services","Firefighting ","hour","day",8,"week",40,"month",160,
|
||||||
|
"Standard","SERVICES","Services","Fumigation","hour","day",8,"week",40,"month",160,
|
||||||
|
"Standard","SERVICES","Services","General Labor","hour","day",8,"week",40,"month",160,"priority"
|
||||||
|
"Standard","SERVICES","Services","Health Care","hour","day",8,"week",40,"month",160,"priority"
|
||||||
|
"Standard","SERVICES","Services","Household Repair","hour","day",8,"week",40,"month",160,
|
||||||
|
"Standard","SERVICES","Services","Housing","hour","day",8,"week",40,"month",160,"priority"
|
||||||
|
"Standard","SERVICES","Services","Legal","hour","day",8,"week",40,"month",160,
|
||||||
|
"Standard","SERVICES","Services","Other Services","hour","day",8,"week",40,"month",160,
|
||||||
|
"Standard","SERVICES","Services","Photography","hour","day",8,"week",40,"month",160,
|
||||||
|
"Standard","SERVICES","Services","Planning (Urban)","hour","day",8,"week",40,"month",160,
|
||||||
|
"Standard","SERVICES","Services","Resource Protection (Environmental)","hour","day",8,"week",40,"month",160,
|
||||||
|
"Standard","SERVICES","Services","Search and Rescue","hour","day",8,"week",40,"month",160,"priority"
|
||||||
|
"Standard","SERVICES","Services","Security","hour","day",8,"week",40,"month",160,"priority"
|
||||||
|
"Standard","SERVICES","Services","Skilled Labor","hour","day",8,"week",40,"month",160,
|
||||||
|
"Standard","SERVICES","Services","Translation","hour","day",8,"week",40,"month",160,
|
||||||
|
"Standard","SERVICES","Services","Transportation","hour","day",8,"week",40,"month",160,"priority"
|
||||||
|
"Standard","SERVICES","Services","Warehousing","hour","day",8,"week",40,"month",160,
|
|
@ -0,0 +1 @@
|
|||||||
|
|
@ -0,0 +1,107 @@
|
|||||||
|
uid,role,description,controller,function,table,entity,uacl,oacl,hidden,system,protected,Notes
|
||||||
|
ANONYMOUS,Anonymous,Unauthenticated users,,,org_organisation,,READ,READ,,,,Required for self-registration
|
||||||
|
ANONYMOUS,Anonymous,Unauthenticated users,org,sites_for_org,,,READ,READ,,,,Required for self-registration
|
||||||
|
ANONYMOUS,Anonymous,Unauthenticated users,gis,,,,READ,READ,,,,
|
||||||
|
ANONYMOUS,Anonymous,Unauthenticated users,vulnerability,,,,READ,READ,,,,
|
||||||
|
ANONYMOUS,Anonymous,Unauthenticated users,water,,,,READ,READ,,,,
|
||||||
|
ANONYMOUS,Anonymous,Unauthenticated users,delphi,,,,READ,READ,,,,
|
||||||
|
AUTHENTICATED,Authenticated,Authenticated - all logged-in users,gis,,,,READ,READ,,,,
|
||||||
|
AUTHENTICATED,Authenticated,Authenticated - all logged-in users,vulnerability,,,,READ,READ,,,,
|
||||||
|
AUTHENTICATED,Authenticated,Authenticated - all logged-in users,water,,,,READ,READ,,,,
|
||||||
|
AUTHENTICATED,Authenticated,Authenticated - all logged-in users,delphi,,,,READ,READ,,,,
|
||||||
|
AUTHENTICATED,Authenticated,Authenticated - all logged-in users,impact,,,,READ,READ,,,,
|
||||||
|
AUTHENTICATED,Authenticated,Authenticated - all logged-in users,doc,,,,READ,READ,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,pr,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,vulnerability,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,survey,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,security,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,fire,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,deploy,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,water,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,budget,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,cap,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,vol,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,delphi,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,org,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,scenario,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,vehicle,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,member,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,cr,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,gis,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,asset,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,patient,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,transport,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,po,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,impact,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,dvr,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,event,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,msg,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,supply,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,project,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,doc,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,hrm,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,appadmin,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,hms,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,req,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,mpr,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,sync,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,inv,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,stats,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,edu,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,dvi,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
EDITOR,Editor,Editor - can access & make changes to any unprotected data,cms,,,,ALL,CREATE|READ|UPDATE|REVIEW|APPROVE,,,,
|
||||||
|
MAP_ADMIN,Map Admin,"Complementary role: FULL access mode only to the maps and their configurations
|
||||||
|
When to assign: Staff Directors.",gis,,,,ALL,ALL,,,,
|
||||||
|
ORG_ADMIN,Organization Admin,"Complementary role: FULL access mode to Organization data and its branches.
|
||||||
|
When to assign: Staff Directors.",org,,,,ALL,ALL,,,,
|
||||||
|
ORG_GROUP_ADMIN,Organnziation Group Admin,,,,,,,,,,,
|
||||||
|
medical_admin,Medical Details Admin,"Complementary role: FULL access but only to medical data of registered evacuees. It must be assigned with other roles to grant access to the other types of data.
|
||||||
|
When to assign: Medical Staff.",patient,,,,ALL,ALL,,,,
|
||||||
|
medical_admin,Medical Details Admin,"Complementary role: FULL access but only to medical data of registered evacuees. It must be assigned with other roles to grant access to the other types of data.
|
||||||
|
When to assign: Medical Staff.",hms,,,,ALL,ALL,,,,
|
||||||
|
medical_admin,Medical Details Admin,"Complementary role: FULL access but only to medical data of registered evacuees. It must be assigned with other roles to grant access to the other types of data.
|
||||||
|
When to assign: Medical Staff.",dvi,,,,ALL,ALL,,,,
|
||||||
|
notification_sender,Notification Sender,"Complementary role: FULL access mode only to module messaging to send/receive notifications (Email/SMS/Twitter).
|
||||||
|
When to assign: Staff Directors.",msg,,,,ALL,ALL,,,,
|
||||||
|
org_reader,Organization Reader,"Complementary role: Access in ""READ only"" mode to Organization data and its branches
|
||||||
|
When to assign: Staff Directors",org,,,,READ,READ,,,,
|
||||||
|
private_user_editor,Private User Editor,"FULL access to modules Evacuees and Shelter.
|
||||||
|
When to assign: private user member of a shelter / Organization and committed to provide assistance to some evacuees",cr,,,,ALL,ALL,,,,
|
||||||
|
private_user_editor,Private User Editor,"FULL access to modules Evacuees and Shelter.
|
||||||
|
When to assign: private user member of a shelter / Organization and committed to provide assistance to some evacuees",dvr,,,,ALL,ALL,,,,
|
||||||
|
private_user_reader,Private User Reader,"Access in ""READ only"" mode to modules Evacuees and Shelter.
|
||||||
|
When to assign: private user member of a Shelter / Organization and committed to provide assistance to some evacuees.",cr,,,,READ,READ,,,,
|
||||||
|
private_user_reader,Private User Reader,"Access in ""READ only"" mode to modules Evacuees and Shelter.
|
||||||
|
When to assign: private user member of a Shelter / Organization and committed to provide assistance to some evacuees.",dvr,,,,READ,READ,,,,
|
||||||
|
public_auth_editor,Public Authority Editor,"FULL access to modules Evacuees and Shelter.
|
||||||
|
When to assign: supervisor user member of local government office with the rights to register data.",cr,,,,ALL,ALL,,,,
|
||||||
|
public_auth_editor,Public Authority Editor,"FULL access to modules Evacuees and Shelter.
|
||||||
|
When to assign: supervisor user member of local government office with the rights to register data.",dvr,,,,ALL,ALL,,,,
|
||||||
|
public_auth_editor,Public Authority Editor,"FULL access to modules Evacuees and Shelter.
|
||||||
|
When to assign: supervisor user member of local government office with the rights to register data.",mpr,,,,READ,READ,,,,
|
||||||
|
public_auth_reader,Public Authority Reader,"Access in ""READ only"" mode to modules Evacuees and Shelter.
|
||||||
|
When to assign: supervisor user member of a local government office.",dvr,,,,READ,READ,,,,
|
||||||
|
staff_admin,Staff Admin,"FULL access to modules Staff, Volunteer, Evacuees and Shelter.
|
||||||
|
When to assign: Staff assigned to manage one or more shelters.",vol,,,,ALL,ALL,,,,
|
||||||
|
staff_admin,Staff Admin,"FULL access to modules Staff, Volunteer, Evacuees and Shelter.
|
||||||
|
When to assign: Staff assigned to manage one or more shelters.",cr,,,,ALL,ALL,,,,
|
||||||
|
staff_admin,Staff Admin,"FULL access to modules Staff, Volunteer, Evacuees and Shelter.
|
||||||
|
When to assign: Staff assigned to manage one or more shelters.",dvr,,,,ALL,ALL,,,,
|
||||||
|
staff_admin,Staff Admin,"FULL access to modules Staff, Volunteer, Evacuees and Shelter.
|
||||||
|
When to assign: Staff assigned to manage one or more shelters.",hrm,,,,ALL,ALL,,,,
|
||||||
|
staff_reader,Staff Reader,"Access in ""READ only"" mode to modules Staff, Volunteer, Evacuees and Shelter.
|
||||||
|
When to assign: Staff assigned to manage one or more shelters.",vol,,,,READ,READ,,,,
|
||||||
|
staff_reader,Staff Reader,"Access in ""READ only"" mode to modules Staff, Volunteer, Evacuees and Shelter.
|
||||||
|
When to assign: Staff assigned to manage one or more shelters.",cr,,,,READ,READ,,,,
|
||||||
|
staff_reader,Staff Reader,"Access in ""READ only"" mode to modules Staff, Volunteer, Evacuees and Shelter.
|
||||||
|
When to assign: Staff assigned to manage one or more shelters.",dvr,,,,READ,READ,,,,
|
||||||
|
staff_reader,Staff Reader,"Access in ""READ only"" mode to modules Staff, Volunteer, Evacuees and Shelter.
|
||||||
|
When to assign: Staff assigned to manage one or more shelters.",hrm,,,,READ,READ,,,,
|
||||||
|
vol_editor,Volunteer Editor,"FULL access to modules Evacuees and Shelter.
|
||||||
|
When to assign: volunteer (trusted person) volunteer who provides assistance to some evacuees inside a well-defined group of shelters.",cr,,,,ALL,ALL,,,,
|
||||||
|
vol_editor,Volunteer Editor,"FULL access to modules Evacuees and Shelter.
|
||||||
|
When to assign: volunteer (trusted person) volunteer who provides assistance to some evacuees inside a well-defined group of shelters.",dvr,,,,ALL,ALL,,,,
|
||||||
|
vol_reader,Volunteer Reader,"Access in ""READ only"" mode to modules Evacuees and Shelter.
|
||||||
|
When to assign: volunteer who provides assistance to some evacuees inside a well- defined group of shelters.",cr,,,,READ,READ,,,,
|
||||||
|
vol_reader,Volunteer Reader,"Access in ""READ only"" mode to modules Evacuees and Shelter.
|
||||||
|
When to assign: volunteer who provides assistance to some evacuees inside a well- defined group of shelters.",dvr,,,,READ,READ,,,,
|
|
@ -0,0 +1,21 @@
|
|||||||
|
Name
|
||||||
|
"CPA - Certified Public Accountant"
|
||||||
|
"CSW - Certified Social Worker"
|
||||||
|
"DR1 - Driver's License - Car"
|
||||||
|
"DR2 - Driver's License - Lt truck"
|
||||||
|
"DR3 - Driver's License Heavy truck"
|
||||||
|
"DR4 - Driver's License Bus"
|
||||||
|
"DR5 - Driver's License Commercial"
|
||||||
|
"DR6 - Driver's License Motorcycle"
|
||||||
|
"EMT - Emergency Medical Technician"
|
||||||
|
"HRO - Ham Radio Operator"
|
||||||
|
"LPC - Licensed Professional Counselor"
|
||||||
|
"LPN - Licensed Practical Nurse"
|
||||||
|
"LSW - Licensed Social Worker"
|
||||||
|
"LVN - Licensed Vocational Nurse"
|
||||||
|
"MD - Medical Doctor"
|
||||||
|
"MFT - Marriage and Family Therapist"
|
||||||
|
"MT - Medical Technician"
|
||||||
|
"PA - Physician Assistant"
|
||||||
|
"PSY - Psychologist"
|
||||||
|
"RN - Registered Nurse"
|
|
@ -0,0 +1,4 @@
|
|||||||
|
Name,Module,Resource,Body
|
||||||
|
About,default,about,"<h2>About</h2>"
|
||||||
|
Help,default,help,"<h2>Help</h2><a href='http://eden.sahanafoundation.org/wiki/UserGuidelines' target='_blank'>User & Administration Guide</a> - online version"
|
||||||
|
CMS Module Index,cms,,"<h2>Content Management System</h2><p>This module allows the editing of page content using a web browser.</p><p>Posts can be either full pages, embedded within other pages or part of a series (for use as news items or blog posts)</p>"
|
|
@ -6,12 +6,6 @@ from gluon import current
|
|||||||
from gluon.storage import Storage
|
from gluon.storage import Storage
|
||||||
|
|
||||||
def config(settings):
|
def config(settings):
|
||||||
"""
|
|
||||||
Template settings for a default system
|
|
||||||
|
|
||||||
@ToDo: Rename this as 'Demo'
|
|
||||||
"""
|
|
||||||
|
|
||||||
T = current.T
|
T = current.T
|
||||||
|
|
||||||
# Pre-Populate
|
# Pre-Populate
|
||||||
@ -24,7 +18,7 @@ def config(settings):
|
|||||||
# ["default", "default/users"]
|
# ["default", "default/users"]
|
||||||
# Unless doing a manual DB migration, where prepopulate = 0
|
# Unless doing a manual DB migration, where prepopulate = 0
|
||||||
# In Production, prepopulate = 0 (to save 1x DAL hit every page)
|
# In Production, prepopulate = 0 (to save 1x DAL hit every page)
|
||||||
settings.base.prepopulate.append("default")
|
settings.base.prepopulate.append("Spotter")
|
||||||
|
|
||||||
# Theme (folder to use for views/layout.html)
|
# Theme (folder to use for views/layout.html)
|
||||||
#settings.base.theme = "default"
|
#settings.base.theme = "default"
|
@ -0,0 +1,46 @@
|
|||||||
|
../themes/default/layout.css
|
||||||
|
../themes/default/xtheme-gray.css
|
||||||
|
../themes/default/footer.css
|
||||||
|
../themes/default/widgets.css
|
||||||
|
../themes/default/shortcut.css
|
||||||
|
../themes/default/homepage.css
|
||||||
|
font-awesome/font-awesome.css
|
||||||
|
plugins/jquery.cluetip.css
|
||||||
|
plugins/jquery.dataTables.css
|
||||||
|
plugins/jquery.dataTables.responsive.css
|
||||||
|
plugins/jquery.tagit.css
|
||||||
|
#ui/accordion.css
|
||||||
|
ui/core.css
|
||||||
|
ui/autocomplete.css
|
||||||
|
ui/button.css
|
||||||
|
ui/datepicker.css
|
||||||
|
ui/dialog.css
|
||||||
|
# Needed for Delphi
|
||||||
|
ui/draggable.css
|
||||||
|
ui/menu.css
|
||||||
|
#ui/progressbar.css
|
||||||
|
ui/resizable.css
|
||||||
|
ui/selectmenu.css
|
||||||
|
ui/slider.css
|
||||||
|
#ui/sortable.css
|
||||||
|
#ui/spinner.css
|
||||||
|
ui/tabs.css
|
||||||
|
#ui/tooltip.css
|
||||||
|
ui/fgtimepicker.css
|
||||||
|
ui/multiselect.css
|
||||||
|
ui/timepicker-addon.css
|
||||||
|
#calendars/ui-smoothness.calendars.picker.css
|
||||||
|
../themes/foundation/jquery-ui.theme.css
|
||||||
|
gis/style.css
|
||||||
|
zocial/zocial.css
|
||||||
|
../themes/default/gis.css
|
||||||
|
../themes/foundation/map.css
|
||||||
|
../themes/default/mobile.css
|
||||||
|
../themes/default/print.css
|
||||||
|
d3/nv.d3.css
|
||||||
|
#../themes/default/project.css
|
||||||
|
../themes/default/report.css
|
||||||
|
../themes/default/survey.css
|
||||||
|
../themes/default/newsfeed.css
|
||||||
|
../themes/default/style.css
|
||||||
|
# Final line required for parsing
|
@ -0,0 +1,4 @@
|
|||||||
|
Position,Code,Status,Default,Comments
|
||||||
|
1,PENDING,Pending,false,
|
||||||
|
2,OPEN,Open,true,
|
||||||
|
3,CLOSED,Closed,false,
|
|
@ -0,0 +1,25 @@
|
|||||||
|
Type,Comments,KV:XX
|
||||||
|
Accident,,
|
||||||
|
Avalanche,,
|
||||||
|
Civil Unrest,,
|
||||||
|
Cold Wave,,
|
||||||
|
Collapse,,
|
||||||
|
Drought,,
|
||||||
|
Earthquake,,
|
||||||
|
Epidemic,,
|
||||||
|
Explosion,,
|
||||||
|
Extreme Winter Conditions,,
|
||||||
|
Fire,,
|
||||||
|
Flash Floods,,
|
||||||
|
Floods,,
|
||||||
|
Food Security,,
|
||||||
|
Heat Wave,,
|
||||||
|
Land Slide,,
|
||||||
|
Local Storm,,
|
||||||
|
Locust,,
|
||||||
|
Population Movement,,
|
||||||
|
Rockfall,,
|
||||||
|
Subsidence,,
|
||||||
|
Tropical Cyclone,,
|
||||||
|
Tsunami,,
|
||||||
|
Volcano,,
|
|
@ -0,0 +1,3 @@
|
|||||||
|
UUID,Name,Region Country,Default Country,Zoom,Lat,Lon,Projection,LatMin,LatMax,LonMin,LonMax,Marker
|
||||||
|
SITE_DEFAULT,Default,,,2,22.593723263,5.28516253,900913,-90,90,-180,180,marker_red
|
||||||
|
,WGS84,,,2,22.593723263,5.28516253,4326,-90,90,-180,180,
|
|
@ -0,0 +1,63 @@
|
|||||||
|
UUID,Country,L1,L2,L3,L4,L5,Edit L1
|
||||||
|
SITE_DEFAULT,,"State / Province","County / District","City / Town / Village","Village / Suburb",,
|
||||||
|
,AF,Province,District,Village,,,
|
||||||
|
,AL,County,District,Municipality,,,
|
||||||
|
,AM,Province,Community,Settlement,,,
|
||||||
|
,AS,District,County,Village,,,
|
||||||
|
,AT,State,"District / City",Municipality,
|
||||||
|
,AU,"State / Territory",Local Government Area,,,,
|
||||||
|
,AZ,Economic Region,"District (Rayon)",,,,
|
||||||
|
,BA,"District / Entity",Canton,Municipality,,,
|
||||||
|
,BD,Division,District,"Thana / Upazil","Village / Union / Area",,
|
||||||
|
,BE,Region,Province,Arrondissement,Commune,
|
||||||
|
,BG,Province,Municipality,,,
|
||||||
|
,BI,Province,Commune,Colline,Sous Colline,
|
||||||
|
,CF,Prefecture,Sub-Prefecture,Commune,,
|
||||||
|
,CM,Region,Division,Sub-Division,Village,
|
||||||
|
,DE,"Federal State","Rural District / District","Town / Municipality",Village,
|
||||||
|
,EC,Province,Canton,Parish,,,
|
||||||
|
,FI,Regional State Administrative Agency,Region,Sub-region,Municipality,,
|
||||||
|
,FJ,Division,Province,District,,,,
|
||||||
|
,GE,"Region / Republic",District,,,,
|
||||||
|
,GN,Region,Prefecture,Sub-prefecture,,,
|
||||||
|
,GR,Decentralized Administration,Region,Regional Unit,Municipality,,
|
||||||
|
,HN,Department,Municipality,Village,,,
|
||||||
|
,HR,County,"Town / Municipality",,,,
|
||||||
|
,HU,County,District,,,,
|
||||||
|
,ID,Province,"Regency / City",District,Administrative Village,,
|
||||||
|
,IN,State,District,Subdistrict,,,
|
||||||
|
,IQ,Province,District,,,,
|
||||||
|
,IT,Region,Province,Commune,,,
|
||||||
|
,KE,County,Constituency,Location,SubLocation,
|
||||||
|
,KG,"Oblast / State City","District (Rayon) / Oblast City","Town / Village Group",Village,,
|
||||||
|
,KH,Province,District,Commune,Village,
|
||||||
|
,KZ,Province,District,,,,
|
||||||
|
,LK,Province,District,Divisional Secretariat,Grama Niladhari,,
|
||||||
|
,LR,County,District,Clan,,,
|
||||||
|
,LY,District,"City / Town / Village",,,,
|
||||||
|
,MG,Region,District,Commune,Fokontany,
|
||||||
|
,MK,Municipality,,,,
|
||||||
|
,MM,State,District,Township,Village Tract,Village,
|
||||||
|
,MN,Province,District,Subdistrict,,,
|
||||||
|
,MP,Municipality,Village,,,,
|
||||||
|
,MV,"Atoll/City",Island,,,,
|
||||||
|
,MY,State,District,Mukim,,,
|
||||||
|
,NP,Region,Zone,District,Village Development Committee,Ward,
|
||||||
|
,NZ,Region,Territorial Authority,,,,
|
||||||
|
,PG,Province,District,LLG,Village,,
|
||||||
|
,PH,Region,Province,"City / Municipality",Barangay,,
|
||||||
|
,PK,Province,District,Tehsil,Union Council,Village,
|
||||||
|
,PY,Department,District,"City / Town / Village",,,
|
||||||
|
,RS,District,"Municipality / City",,,,
|
||||||
|
,SE,County,Municipality,,,,
|
||||||
|
,SL,Province,District,Chiefdom,,,
|
||||||
|
,TD,Region,Department,Sub-Prefecture,Canton,
|
||||||
|
,TJ,Province,District,Jamoat,Village,,
|
||||||
|
,TL,District,SubDistrict,Suco,Aldeia,,
|
||||||
|
,TM,Province,District,,,,
|
||||||
|
,TR,City,Town,District,,,
|
||||||
|
,PR,Municipality,Barrio,,,,
|
||||||
|
,US,State,County,City,Neighborhood,,False
|
||||||
|
,UZ,Province,District,,,,
|
||||||
|
,VN,Province,District,Commune,,,
|
||||||
|
,XK,District,Municipality,,,,
|
Can't render this file because it has a wrong number of fields in line 7.
|
@ -0,0 +1,4 @@
|
|||||||
|
Name,Type,Enabled,Default
|
||||||
|
Bing Aerial,aerial,False,
|
||||||
|
Bing Hybrid,hybrid,False,
|
||||||
|
Bing Road,road,False,
|
|
@ -0,0 +1,2 @@
|
|||||||
|
Name,Enabled,Visible
|
||||||
|
Coordinate Grid,False,False
|
|
@ -0,0 +1,21 @@
|
|||||||
|
Name,Description,Controller,Function,Marker,GPS Marker,Popup Format,Attributes,Filter,Site,Points,Trackable,Style,Opacity,Folder,Visible,Enabled,Cluster Threshold,Refresh
|
||||||
|
Airports,All Active Airports,transport,airport,airport,Airport,{name} (T('Airport')),name,~.obsolete=False,,True,,,,,False,,,
|
||||||
|
Assets,,asset,asset,asset,Flag,{number} (T('Asset'))<br />{person_id},"number,person_id",,,True,True,,,,False,,,
|
||||||
|
Demographics,For summary page,stats,demographic_data,,,{location_id}: {value},"location_id,value",,,,,"[{'prop':'value','fillOpacity':0.5}]",0.5,,False,False,0,0
|
||||||
|
Heliports,All Active Heliports,transport,heliport,helicopter,Heliport,{name} (T('Heliport')),name,~.obsolete=False,,True,,,,,False,,,
|
||||||
|
Hospitals,All Active Medical Facilities,hms,hospital,hospital,Medical Facility,{name} (T('Hospital')),name,~.obsolete=False,,True,,,,,False,,,
|
||||||
|
Incident Reports,,event,incident_report,incident,Danger Area,{name} (T('Incident'))<br />{incident_type_id},"name,incident_type_id",,,True,,,,,False,,,
|
||||||
|
Locations,Used by Location Details,gis,location,,,{name},"name,gis_feature_type",~.level__ne=None&~.end_date=None,,,,"[{'prop':'gis_feature_type','cat':1,'externalGraphic':'img/markers/marker_red.png'},{'prop':'gis_feature_type','cat':3,'fill':'00BFFF','fillOpacity':0.5},{'prop':'gis_feature_type','cat':6,'fill':'00BFFF','fillOpacity':0.5}]",0.9,,False,,0,0
|
||||||
|
Offices,All Active Offices,org,office,office,Building,{name} (T('Office'))<br />{organisation_id},"name,organisation_id",~.obsolete=False,,True,,,,,False,,,
|
||||||
|
PoIs,Points of Interest,gis,poi,,,{name} ({poi_type_id}),"name,poi_type_id",,,True,,,,,,False,,
|
||||||
|
Projects,,project,location,project,,{name} (T('Project'))<br />{location_id}<br />{multi_activity_type_id},"name,location_id,multi_activity_type_id",,,,,,,,False,,,
|
||||||
|
Requests,All Open Requests,req,req,request,"Navaid, Red",{req_ref} (T('Request'))<br />{site_id},"req_ref,site_id",~.fulfil_status__ne=2,True,,,,,,False,,,
|
||||||
|
Seaports,All Active Seaports,transport,seaport,port,Marina,{name} (T('Seaport')),name,~.obsolete=False,,True,,,,,False,,,
|
||||||
|
Shelters,All Active Shelters,cr,shelter,shelter,Campground,{name} (T('Shelter'))<br />T('Population') {population}<br />T('Capacity') {capacity_day},"name,population,capacity_day",~.status__ne=1,,True,,,,,False,,,
|
||||||
|
Staff,All Active Staff,hrm,staff,staff,"Contact, Dreadlocks",{person_id} (T('Staff'))<br />{job_title_id}<br />{organisation_id},"person_id,job_title_id,organisation_id",~.status=1,,True,True,,,,False,,,
|
||||||
|
Stock Items,Used for Search Results,inv,inv_item,,,{item_id} (T('Stock Item'))<br />{site_id}<br />{quantity} {item_pack_id}<br />T('Expires') {expiry_date},"item_id,site_id,quantity,item_pack_id,expiry_date",,,,,,,,False,False,,
|
||||||
|
Training Events,Used for Search Results,hrm,training_event,,,{course_id} (T('Training Event'))<br />{site_id}<br />{start_date},"course_id,site_id,start_date",,,True,,,,,False,False,,
|
||||||
|
Tweets,All Tweets,msg,twitter_result,twitter,,{body},body,,,True,,,,,False,,,
|
||||||
|
Vehicles,,vehicle,vehicle,vehicle,Car,{number} (T('Vehicle'))<br />{person_id},"number,person_id",,,True,True,,,,False,,,
|
||||||
|
Volunteers,All Active Volunteers,vol,volunteer,volunteer,"Contact, Dreadlocks",{person_id} (T('Volunteer'))<br />{organisation_id},"person_id,organisation_id",~.status=1,,True,True,,,,False,,,
|
||||||
|
Warehouses,All Active Warehouses,inv,warehouse,warehouse,Building,{name} (T('Warehouse'))<br />{organisation_id},"name,organisation_id",~.obsolete=False,,True,,,,,False,,,
|
|
@ -0,0 +1,2 @@
|
|||||||
|
Name,Description,URL,Projection,Marker,Style,Folder,Config,Enabled,Visible
|
||||||
|
Earthquakes: Recent Events,USGS M4.5 7-day,http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/4.5_week.geojson,4326,,"[{'prop':'mag','low':4.5,'high':5.4,'label':'5','fillOpacity':0.8,'fill':'FFFF00','graphic':'circle','size':5},{'prop':'mag','low':5.5,'high':6.4,'label':'6','fillOpacity':0.8,'fill':'FFA500','graphic':'circle','size':7},{'prop':'mag','low':6.5,'high':7.4,'label':'7','fillOpacity':0.8,'fill':'FFCA00','graphic':'circle','size':9},{'prop':'mag','low':7.5,'high':9.9,'label':'8+','fillOpacity':0.8,'fill':'FF0000','graphic':'circle','size':11}]",Incidents,,True,False
|
|
@ -0,0 +1,4 @@
|
|||||||
|
Name,Description,URL,Marker,Enabled,Visible,Folder,Image
|
||||||
|
Fires (US),InciWeb,http://inciweb.nwcg.gov/feeds/rss/incidents/,fire,False,False,Incidents,
|
||||||
|
Floods,Dartmouth Flood Observatory,http://www.gdacs.org/xml/rssfl.xml,flood,False,False,Incidents,gdas:gfds_image
|
||||||
|
Volcanoes,USGS: US recent,http://volcano.wr.usgs.gov/rss/vhpcaprss.xml,volcano,False,False,Incidents,
|
|
@ -0,0 +1,8 @@
|
|||||||
|
Name,Description,Type,Enabled,Default
|
||||||
|
"Google Maps","Streets",maps,"False",
|
||||||
|
"Google Hybrid","Streets over Satellite imagery",hybrid,"False",
|
||||||
|
"Google Satellite","Satellite imagery",satellite,"False",
|
||||||
|
"Google Terrain","Streets over topography",terrain,"False",
|
||||||
|
"Google MapMaker","Community additions to streets. This is much more detailed than normal Google in some locations. It is incompatioble with Streetview.",mapmaker,"False",
|
||||||
|
"Google MapMapker Hybrid","Community additions to streets overlaid over Satellite imagery. This is much more detailed than normal Google in some locations. It is incompatioble with Streetview.",mapmakerhybrid,"False",
|
||||||
|
"Google Streetview","Streetview allows access to a 3D photographic panorama. It is incompatible with MapMaker layers.",streetview,"True",
|
|
@ -0,0 +1,2 @@
|
|||||||
|
Name,Description,URL,Enabled
|
||||||
|
"MGRS Atlas PDFs""http://en.wikipedia.org/wiki/Military_grid_reference_system","http://www.sharedgeo.org/datasets/shared/maps/usng/pdf.map?VERSION=1.0.0&SERVICE=WFS&request=GetFeature&typename=wfs_all_maps",False
|
Can't render this file because it has a wrong number of fields in line 2.
|
@ -0,0 +1,12 @@
|
|||||||
|
Name,Enabled,Visible,Base,Default,Folder,URL,URL2,URL3,Attribution,"Zoom Levels"
|
||||||
|
"OpenStreetMap (MapQuest)","False",,,,,"http://otile1.mqcdn.com/tiles/1.0.0/osm/","http://otile2.mqcdn.com/tiles/1.0.0/osm/","http://otile3.mqcdn.com/tiles/1.0.0/osm/","Tiles Courtesy of <a href=""http://open.mapquest.co.uk/"" target=""_blank"">MapQuest</a> <img src=""//developer.mapquest.com/content/osm/mq_logo.png"" border=""0"">",
|
||||||
|
"OpenStreetMap (MapQuest SSL)","False",,,,,"https://otile1-s.mqcdn.com/tiles/1.0.0/osm/","https://otile2-s.mqcdn.com/tiles/1.0.0/osm/","https://otile3-s.mqcdn.com/tiles/1.0.0/osm/","Tiles Courtesy of <a href=""http://open.mapquest.co.uk/"" target=""_blank"">MapQuest</a> <img src=""//developer.mapquest.com/content/osm/mq_logo.png"" border=""0"">",
|
||||||
|
"OpenStreetMap (Humanitarian)","True",,,"True",,"//a.tile.openstreetmap.fr/hot/","//b.tile.openstreetmap.fr/hot/","//c.tile.openstreetmap.fr/hot/","Tiles Courtesy of <a href=""http://hot.openstreetmap.org/"" target=""_blank"">Humanitarian OpenStreetMap Team</a>",
|
||||||
|
"OpenStreetMap (Standard)","False",,,,,"//a.tile.openstreetmap.org/","//b.tile.openstreetmap.org/","//c.tile.openstreetmap.org/","Tiles Courtesy of <a href=""http://www.openstreetmap.org/"" target=""_blank"">OpenStreetMap</a>",
|
||||||
|
"OpenStreetMap (Landscape)","False",,,,,"http://a.tile3.opencyclemap.org/landscape/","http://b.tile3.opencyclemap.org/landscape/","http://c.tile3.opencyclemap.org/landscape/","Tiles Courtesy of <a href=""http://www.opencyclemap.org/"" target=""_blank"">OpenCycleMap</a>",
|
||||||
|
"OpenStreetMap (Cycle Map)","False",,,,,"http://a.tile.opencyclemap.org/cycle/","http://b.tile.opencyclemap.org/cycle/","http://c.tile.opencyclemap.org/cycle/","Tiles Courtesy of <a href=""http://www.opencyclemap.org/"" target=""_blank"">OpenCycleMap</a>",
|
||||||
|
"OpenStreetMap (Transport Map)","False",,,,,"http://a.tile2.opencyclemap.org/transport/","http://b.tile2.opencyclemap.org/transport/","http://c.tile2.opencyclemap.org/transport/","Tiles Courtesy of <a href=""http://www.opencyclemap.org/"" target=""_blank"">OpenCycleMap</a>",
|
||||||
|
"OpenStreetMap (Labels)","False","False","False",,,"http://casa.oobrien.com/maptiler/labelsonly/",,,"Labels overlay CC-by-SA by <a href=""http://oobrien.com/oom/"" target=""_blank"">OpenOrienteeringMap</a>/<a href=""http://www.openstreetmap.org/"">OpenStreetMap</a> data",
|
||||||
|
"OpenStreetMap (Relief)","False","False","False",,,"http://toolserver.org/~cmarqu/hill/",,,"Relief by <a href=""http://hikebikemap.de/"" target=""_blank"">Hike & Bike Map</a>",
|
||||||
|
"OpenStreetMap (Taiwan)","False",,,,,"http://tile.openstreetmap.tw/tiles/",,,,
|
||||||
|
"OpenStreetMap (Sahana)","False",,,,,"http://geo.eden.sahanafoundation.org/tiles/",,,,
|
|
@ -0,0 +1,3 @@
|
|||||||
|
Name,Description,Type,Config,Folder,Enabled,Visible
|
||||||
|
"Current Weather",,city,,Weather,"True","False"
|
||||||
|
"Weather Stations",,station,,Weather,"True","False"
|
|
@ -0,0 +1,15 @@
|
|||||||
|
Name,Description,Enabled,Folder,URL,URL2,URL3,Layer Name,Attribution,Zoom Levels,Format
|
||||||
|
"Blue Marble Topography & Bathymetry (January)","MapBox",False,,"http://a.tiles.mapbox.com/mapbox/","http://b.tiles.mapbox.com/mapbox/","http://c.tiles.mapbox.com/mapbox/","blue-marble-topo-bathy-jan",'<a href="http://mapbox.com" target="_blank">MapBox</a>',9,
|
||||||
|
"Blue Marble Topography & Bathymetry (July)","MapBox",False,,"http://a.tiles.mapbox.com/mapbox/","http://b.tiles.mapbox.com/mapbox/","http://c.tiles.mapbox.com/mapbox/","blue-marble-topo-bathy-jul",'<a href="http://mapbox.com" target="_blank">MapBox</a>',9,
|
||||||
|
"Blue Marble Topography (January)","MapBox",False,,"http://a.tiles.mapbox.com/mapbox/","http://b.tiles.mapbox.com/mapbox/","http://c.tiles.mapbox.com/mapbox/","blue-marble-topo-jan",'<a href="http://mapbox.com" target="_blank">MapBox</a>',9,
|
||||||
|
"Blue Marble Topography (July)","MapBox",False,,"http://a.tiles.mapbox.com/mapbox/","http://b.tiles.mapbox.com/mapbox/","http://c.tiles.mapbox.com/mapbox/","blue-marble-topo-jul",'<a href="http://mapbox.com" target="_blank">MapBox</a>',9,
|
||||||
|
"Control Room","MapBox",False,,"http://a.tiles.mapbox.com/mapbox/","http://b.tiles.mapbox.com/mapbox/","http://c.tiles.mapbox.com/mapbox/","control-room",'<a href="http://mapbox.com" target="_blank">MapBox</a>',9,
|
||||||
|
"Geography Class","MapBox",False,,"http://a.tiles.mapbox.com/mapbox/","http://b.tiles.mapbox.com/mapbox/","http://c.tiles.mapbox.com/mapbox/","geography-class",'<a href="http://mapbox.com" target="_blank">MapBox</a>',9,
|
||||||
|
"Natural Earth Hypsometric","MapBox",False,,"http://a.tiles.mapbox.com/mapbox/","http://b.tiles.mapbox.com/mapbox/","http://c.tiles.mapbox.com/mapbox/","natural-earth-hypso",'<a href="http://mapbox.com" target="_blank">MapBox</a>',7,
|
||||||
|
"Natural Earth Hypsometric & Bathymetry","MapBox",False,,"http://a.tiles.mapbox.com/mapbox/","http://b.tiles.mapbox.com/mapbox/","http://c.tiles.mapbox.com/mapbox/","natural-earth-hypso-bathy",'<a href="http://mapbox.com" target="_blank">MapBox</a>',7,
|
||||||
|
"Natural Earth I","MapBox",False,,"http://a.tiles.mapbox.com/mapbox/","http://b.tiles.mapbox.com/mapbox/","http://c.tiles.mapbox.com/mapbox/","natural-earth-1",'<a href="http://mapbox.com" target="_blank">MapBox</a>',7,
|
||||||
|
"Natural Earth II","MapBox",False,,"http://a.tiles.mapbox.com/mapbox/","http://b.tiles.mapbox.com/mapbox/","http://c.tiles.mapbox.com/mapbox/","natural-earth-2",'<a href="http://mapbox.com" target="_blank">MapBox</a>',7,
|
||||||
|
"World Dark","MapBox",False,,"http://a.tiles.mapbox.com/mapbox/","http://b.tiles.mapbox.com/mapbox/","http://c.tiles.mapbox.com/mapbox/","world-dark",'<a href="http://mapbox.com" target="_blank">MapBox</a>',12,
|
||||||
|
"World Light","MapBox",False,,"http://a.tiles.mapbox.com/mapbox/","http://b.tiles.mapbox.com/mapbox/","http://c.tiles.mapbox.com/mapbox/","world-light",'<a href="http://mapbox.com" target="_blank">MapBox</a>',12,
|
||||||
|
"World Glass","MapBox",False,,"http://a.tiles.mapbox.com/mapbox/","http://b.tiles.mapbox.com/mapbox/","http://c.tiles.mapbox.com/mapbox/","world-glass",'<a href="http://mapbox.com" target="_blank">MapBox</a>',11,
|
||||||
|
"World Print","MapBox",False,,"http://a.tiles.mapbox.com/mapbox/","http://b.tiles.mapbox.com/mapbox/","http://c.tiles.mapbox.com/mapbox/","world-print",'<a href="http://mapbox.com" target="_blank">MapBox</a>',10,
|
Can't render this file because it contains an unexpected character in line 2 and column 211.
|
@ -0,0 +1,15 @@
|
|||||||
|
Name,Description,URL,Layers,Folder,Config,Enabled,Visible,Base,Transparent,Opacity,Format,Queryable,LegendURL,Style,Map
|
||||||
|
VMap0,A Free low-resolution Vector Map of the whole world,http://vmap0.tiles.osgeo.org/wms/vmap0,basic,,WGS84,True,True,True,,,,False,,,
|
||||||
|
Blue Marble,A composite of four months of MODIS observations with a spatial resolution (level of detail) of 1 square kilometer per pixel.,http://maps.opengeo.org/geowebcache/service/wms,bluemarble,,WGS84,True,True,True,,,,False,,,
|
||||||
|
LandSat,Global 15m satellite imagery from 2003.,http://hyperquad.telascience.org/cgi-bin/onearth?,OnEarth_PAN_321_20030801,,WGS84,True,True,True,,,image/jpeg,False,,,
|
||||||
|
MODIS/Terra Corrected Reflectance (True Color),,http://lance2.modaps.eosdis.nasa.gov/cgi-bin/mapserv.cgi?map_layer[Terra250]=DATA+terr_250m_2012125.vrt,Terra250,,WGS84,True,False,True,,,image/jpeg,False,,,rrglobal_terra_250m.map
|
||||||
|
MODIS/Aqua Corrected Reflectance (True Color),,http://lance2.modaps.eosdis.nasa.gov/cgi-bin/mapserv.cgi?map_layer[Aqua250]=DATA+aqua_250m_2012125.vrt,Aqua250_143,,WGS84,True,False,True,,,image/jpeg;mode=24bit,False,,,rrglobal_aqua_250m.map
|
||||||
|
Terra Corrected Reflectance (True Color),,http://lance2.modaps.eosdis.nasa.gov/cgi-bin/mapserv.cgi?map_layer[Terra250]=DATA+terr_250m_2012125.vrt,Terra250,,WGS84,True,False,False,True,,image/png,False,,,rrglobal_terra_250m.map
|
||||||
|
US Radar Mosaic,"The nowCOAST 'obs' Web Map Service (WMS) provides layers containing near real-time surface meteorological and oceanographic observations from various sources. Some observations are updated as frequently as every six minutes, while others are updated hourly. The 'obs' WMS is one of several map services provided by NOAA's nowCOAST project (http://nowcoast.noaa.gov). For further layer information such as layer icons, legend graphics, layer descriptions, and valid timestamps, see the nowCOAST 'LayerInfo Web Service' description page at: http://nowcoast.noaa.gov/help/layerinfo.shtml. For more information about nowCOAST's available Web Map Services, see the nowCOAST Map Services information page at: http://nowcoast.noaa.gov/help/mapservices.shtml. nowCOAST is a product of the NOAA/NOS/OCS Coast Survey Development Laboratory.",http://nowcoast.noaa.gov:80/wms/com.esri.wms.Esrimap/obs?,RAS_RIDGE_NEXRAD,Weather,WGS84,True,False,False,True,,image/png,False,,,
|
||||||
|
Fires (Last 24 Hours),Provides MODIS (MODIS Rapid Response Collection) Fires/Hotspots for the past 24 hours. Please visit http://maps.geog.umd.edu/firms/ for more information,http://firefly.geog.umd.edu/wms/wms?,fires24,Hazards,WGS84,True,False,False,True,,image/png,False,,,
|
||||||
|
Fires (Last 48 Hours),Provides MODIS (MODIS Rapid Response Collection) Fires/Hotspots for the past 48 hours. Please visit http://maps.geog.umd.edu/firms/ for more information,http://firefly.geog.umd.edu/wms/wms?,fires48,Hazards,WGS84,True,False,False,True,,image/png,False,,,
|
||||||
|
Population Density 2010 (Alternate server),GPWv3,http://sedac.ciesin.columbia.edu/geoserver/wms?,gpw-v3:gpw-v3-population-density-future-estimates_2010,Population,WGS84,True,False,False,True,0.8,image/png,False,,,
|
||||||
|
Population Density 2000 (Persons per km2),GRUMPv1,http://beta.sedac.ciesin.columbia.edu:8080/geoserver/wms?,grump-v1:grump-v1-population-density_2000 ,Population,WGS84,True,False,False,True,0.8,image/png,False,,,
|
||||||
|
Precipitation forecast,,http://geo.weatheroffice.gc.ca/geomet/?,GDPS.ETA_PR,Weather,,True,False,False,True,0.4,image/png,False,http://geo.weatheroffice.gc.ca/geomet/?LANG=E%26SERVICE=WMS%26VERSION=1.1.1%26REQUEST=GetLegendGraphic%26STYLE=PRECIPMM%26LAYER=GDPS.ETA_PR%26format=image/png,PRECIPMM,
|
||||||
|
Cloud forecast,,http://geo.weatheroffice.gc.ca/geomet/?,GDPS.ETA_NT,Weather,,True,False,False,True,0.4,image/png,False,http://geo.weatheroffice.gc.ca/geomet/?LANG=E%26SERVICE=WMS%26VERSION=1.1.1%26REQUEST=GetLegendGraphic%26STYLE=CLOUD%26LAYER=GDPS.ETA_NT%26format=image/png,CLOUD,
|
||||||
|
Sea Level: Rise of 2m,Data from https://www.cresis.ku.edu/data/sea-level-rise-maps,http://lacrmt.sahanafoundation.org:8080/geoserver/wms?,lacrmt:inund2,Hazards,,True,False,False,True,0.4,image/png,False,,,
|
|
@ -0,0 +1,79 @@
|
|||||||
|
Name,Height,Width,Image
|
||||||
|
marker_red,34,20,"marker_red.png"
|
||||||
|
marker_yellow,34,20,"marker_yellow.png"
|
||||||
|
marker_amber,34,20,"marker_amber.png"
|
||||||
|
marker_green,34,20,"marker_green.png"
|
||||||
|
airport,33,44,"ersSymbolsV0202/Infrastructures_S1/Trans_Airport_S1.png"
|
||||||
|
ambulance,40,40,"ersSymbolsV0202/Operations_S1/E_Med_Ambulance_S1_ch.png"
|
||||||
|
asset,40,40,"ersSymbolsV0202/Operations_S1/Emergency_Staging_Areas_S1.png"
|
||||||
|
asset_green,40,40,"ersSymbolsV0202/Operations_S1/Emergency_Staging_Areas_S1_green.png"
|
||||||
|
asset_red,40,40,"ersSymbolsV0202/Operations_S1/Emergency_Staging_Areas_S1_red.png"
|
||||||
|
asset_yellow,40,40,"ersSymbolsV0202/Operations_S1/Emergency_Staging_Areas_S1_yellow.png"
|
||||||
|
bridge,33,44,"ersSymbolsV0202/Infrastructures_S1/Trans_Bridge_S1.png"
|
||||||
|
church,33,44,"ersSymbolsV0202/Infrastructures_S1/Public_Venue_Church_S1.png"
|
||||||
|
earthquake,50,50,"ersSymbolsV0202/Natural_Events/Geo_Earth_Quake_Epicenter.png"
|
||||||
|
elderly,33,44,"ersSymbolsV0202/Infrastructures_S1/Special_Needs_Elder_Care_S1.png"
|
||||||
|
fire,50,50,"ersSymbolsV0202/Incidents/Fire_Theme.png"
|
||||||
|
fire_station,40,40,"ersSymbolsV0202/Operations_S1/Fire_Station_S1.png"
|
||||||
|
flood,50,50,"ersSymbolsV0202/Natural_Events/Hydro_Meteor_Flood.png"
|
||||||
|
food,40,40,"ersSymbolsV0202/Operations_S1/Emergency_Food_Distribution_Centers_S1.png"
|
||||||
|
food_green,40,40,"ersSymbolsV0202/Operations_S1/Emergency_Food_Distribution_Centers_S1_green.png"
|
||||||
|
food_red,40,40,"ersSymbolsV0202/Operations_S1/Emergency_Food_Distribution_Centers_S1_red.png"
|
||||||
|
food_yellow,40,40,"ersSymbolsV0202/Operations_S1/Emergency_Food_Distribution_Centers_S1_yellow.png"
|
||||||
|
hazmat,50,50,"ersSymbolsV0202/Incidents/Hazmat_Toxic_and_Infectious.png"
|
||||||
|
hazmat_green,50,50,"ersSymbolsV0202/Incidents/Hazmat_Toxic_and_Infectious_green.png"
|
||||||
|
hazmat_red,50,50,"ersSymbolsV0202/Incidents/Hazmat_Toxic_and_Infectious_red.png"
|
||||||
|
hazmat_yellow,50,50,"ersSymbolsV0202/Incidents/Hazmat_Toxic_and_Infectious_yellow.png"
|
||||||
|
helicopter,33,44,"ersSymbolsV0202/Infrastructures_S1/Trans_Helicopter_Landing_Site_S1.png"
|
||||||
|
hospital,40,40,"ersSymbolsV0202/Operations_S1/E_Med_Hospital_S1.png"
|
||||||
|
hospital_green,40,40,"ersSymbolsV0202/Operations_S1/E_Med_Hospital_S1_Green.png"
|
||||||
|
hospital_red,40,40,"ersSymbolsV0202/Operations_S1/E_Med_Hospital_S1_Red.png"
|
||||||
|
hospital_yellow,40,40,"ersSymbolsV0202/Operations_S1/E_Med_Hospital_S1_Yellow.png"
|
||||||
|
incident,50,50,"ersSymbolsV0202/Incidents/Incident_Theme.png"
|
||||||
|
information,32,32,Information.png
|
||||||
|
mobile_phone,40,40,Mobile_Phone.png
|
||||||
|
mosque,33,44,"ersSymbolsV0202/Infrastructures_S1/Public_Venue_Mosque_S1.png"
|
||||||
|
news,48,48,News.png
|
||||||
|
office,40,40,"ersSymbolsV0202/Operations_S1/Emergency_Operations_Center_S1.png"
|
||||||
|
office_green,40,40,"ersSymbolsV0202/Operations_S1/Emergency_Operations_Center_S1_green.png"
|
||||||
|
office_red,40,40,"ersSymbolsV0202/Operations_S1/Emergency_Operations_Center_S1_red.png"
|
||||||
|
office_yellow,40,40,"ersSymbolsV0202/Operations_S1/Emergency_Operations_Center_S1_yellow.png"
|
||||||
|
orphanage,33,44,"ersSymbolsV0202/Infrastructures_S1/Special_Needs_Child_Day_Care_S1.png"
|
||||||
|
phone,10,5,SMS_Message_Phone.png
|
||||||
|
police_station,40,40,"ersSymbolsV0202/Operations_S1/Law_Enforcement_Theme_S1.png"
|
||||||
|
port,33,44,"ersSymbolsV0202/Infrastructures_S1/Trans_Port_S1.png"
|
||||||
|
project,40,40,"ersSymbolsV0202/Operations_S1/Emergency_Teams_S1.png"
|
||||||
|
rail_station,33,44,"ersSymbolsV0202/Infrastructures_S1/Trans_Rail_Station_S1.png"
|
||||||
|
request,40,40,"ersSymbolsV0202/Operations_S1/Emergency_Operations_Theme_S1.png"
|
||||||
|
request_red,40,40,"ersSymbolsV0202/Operations_S1/Emergency_Operations_Theme_S1_red.png"
|
||||||
|
request_yellow,40,40,"ersSymbolsV0202/Operations_S1/Emergency_Operations_Theme_S1_yellow.png"
|
||||||
|
residence,33,44,"ersSymbolsV0202/Infrastructures_S1/Public_Venues_Theme_S1.png"
|
||||||
|
residence_green,33,44,"ersSymbolsV0202/Infrastructures_S1/Public_Venues_Theme_S1_green.png"
|
||||||
|
residence_red,33,44,"ersSymbolsV0202/Infrastructures_S1/Public_Venues_Theme_S1_red.png"
|
||||||
|
residence_yellow,33,44,"ersSymbolsV0202/Infrastructures_S1/Public_Venues_Theme_S1_yellow.png"
|
||||||
|
school,33,44,"ersSymbolsV0202/Infrastructures_S1/Edu_Schools_S1.png"
|
||||||
|
shelter,40,40,"ersSymbolsV0202/Operations_S1/Emergency_Shelters_S1.png"
|
||||||
|
shelter_green,40,40,"ersSymbolsV0202/Operations_S1/Emergency_Shelters_S1_green.png"
|
||||||
|
shelter_red,40,40,"ersSymbolsV0202/Operations_S1/Emergency_Shelters_S1_red.png"
|
||||||
|
shelter_yellow,40,40,"ersSymbolsV0202/Operations_S1/Emergency_Shelters_S1_yellow.png"
|
||||||
|
special_needs,33,44,"ersSymbolsV0202/Infrastructures_S1/Special_Needs_Adult_Day_Care_S1.png"
|
||||||
|
special_needs_green,33,44,"ersSymbolsV0202/Infrastructures_S1/Special_Needs_Adult_Day_Care_S1_Green.png"
|
||||||
|
special_needs_red,33,44,"ersSymbolsV0202/Infrastructures_S1/Special_Needs_Adult_Day_Care_S1_Red.png"
|
||||||
|
special_needs_yellow,33,44,"ersSymbolsV0202/Infrastructures_S1/Special_Needs_Adult_Day_Care_S1_Yellow.png"
|
||||||
|
staff,40,40,"ersSymbolsV0202/Operations_S1/Emergency_Staff_S1.png"
|
||||||
|
staff_red,40,40,"ersSymbolsV0202/Operations_S1/Emergency_Staff_S1_red.png"
|
||||||
|
staff_yellow,40,40,"ersSymbolsV0202/Operations_S1/Emergency_Staff_S1_yellow.png"
|
||||||
|
team,40,40,"ersSymbolsV0202/Operations_S1/Emergency_Teams_S1.png"
|
||||||
|
temple,33,44,"ersSymbolsV0202/Infrastructures_S1/Public_Venue_Temple_S1.png"
|
||||||
|
tsunami,50,50,"ersSymbolsV0202/Natural_Events/Hydro_Meteor_Tsunami_ch.png"
|
||||||
|
twitter,32,32,Twitter.png
|
||||||
|
ushahidi,31,32,Ushahidi.png
|
||||||
|
vehicle,40,40,"ersSymbolsV0202/Operations_S1/Emergency_Vehicle_S1.png"
|
||||||
|
volcano,50,50,"ersSymbolsV0202/Natural_Events/Geo_Volcanic_Threat.png"
|
||||||
|
volunteer,40,39,Volunteer.png
|
||||||
|
water,33,44,"ersSymbolsV0202/Infrastructures_S1/Water_Supply_Infrastructure_Theme_S1.png"
|
||||||
|
warehouse,33,44,"ersSymbolsV0202/Infrastructures_S1/Agri_Commercial_Food_Distribution_Center_S1.png"
|
||||||
|
warehouse_green,33,44,"ersSymbolsV0202/Infrastructures_S1/Agri_Commercial_Food_Distribution_Center_S1_green.png"
|
||||||
|
warehouse_red,33,44,"ersSymbolsV0202/Infrastructures_S1/Agri_Commercial_Food_Distribution_Center_S1_red.png"
|
||||||
|
warehouse_yellow,33,44,"ersSymbolsV0202/Infrastructures_S1/Agri_Commercial_Food_Distribution_Center_S1_yellow.png"
|
||||||
|
youtube,32,32,YouTube.png
|
|
@ -0,0 +1,128 @@
|
|||||||
|
Type,Comments,KV:XX
|
||||||
|
"Animal Die Off",,"EMS:animalHealth.animalDieOff"
|
||||||
|
"Animal Feed",,"EMS:animalHealth.animalFeed"
|
||||||
|
"Aircraft Crash",,"EMS:aviation.aircraftCrash"
|
||||||
|
"Aircraft Hijacking",,"EMS:aviation.aircraftHijacking"
|
||||||
|
"Airport Closure",,"EMS:aviation.airportClosure"
|
||||||
|
"Airspace Closure",,"EMS:aviation.airspaceClosure"
|
||||||
|
"Notice to Airmen",,"EMS:aviation.noticeToAirmen"
|
||||||
|
"Space Debris",,"EMS:aviation.spaceDebris"
|
||||||
|
"Demonstrations",,"EMS:civil.demonstrations"
|
||||||
|
"Dignitary Visit",,"EMS:civil.dignitaryVisit"
|
||||||
|
"Displaced Populations",,"EMS:civil.displacedPopulations"
|
||||||
|
"Civil Emergency",,"EMS:civil.emergency"
|
||||||
|
"Looting",,"EMS:civil.looting"
|
||||||
|
"Public Event",,"EMS:civil.publicEvent"
|
||||||
|
"Riot",,"EMS:civil.riot"
|
||||||
|
"Volunteer Request",,"EMS:civil.volunteerRequest"
|
||||||
|
"Crime",,"EMS:crime"
|
||||||
|
"Bomb",,"EMS:crime.bomb"
|
||||||
|
"Bomb Explosion",,"EMS:crime.bombExplosion"
|
||||||
|
"Bomb Threat",,"EMS:crime.bombThreat"
|
||||||
|
"Dangerous Person",,"EMS:crime.dangerousPerson"
|
||||||
|
"Drugs",,"EMS:crime.drugs"
|
||||||
|
"Home Crime",,"EMS:crime.homeCrime"
|
||||||
|
"Illegal Immigrant",,"EMS:crime.illegalImmigrant"
|
||||||
|
"Industrial Crime",,"EMS:crime.industrialCrime"
|
||||||
|
"Poisoning",,"EMS:crime.poisoning"
|
||||||
|
"Retail Crime",,"EMS:crime.retailCrime"
|
||||||
|
"Shooting",,"EMS:crime.shooting"
|
||||||
|
"Stowaway",,"EMS:crime.stowaway"
|
||||||
|
"Terrorism",,"EMS:crime.terrorism"
|
||||||
|
"Vehicle Crime",,"EMS:crime.vehicleCrime"
|
||||||
|
"Fire",,"EMS:fire"
|
||||||
|
"Forest Fire",,"EMS:fire.forestFire"
|
||||||
|
"Hot Spot",,"EMS:fire.hotSpot"
|
||||||
|
"Industry Fire",,"EMS:fire.industryFire"
|
||||||
|
"Smoke",,"EMS:fire.smoke"
|
||||||
|
"Urban Fire",,"EMS:fire.urbanFire"
|
||||||
|
"Wild Fire",,"EMS:fire.wildFire"
|
||||||
|
"Flood",,"EMS:flood"
|
||||||
|
"Dam Overflow",,"EMS:flood.damOverflow"
|
||||||
|
"Flash Flood",,"EMS:flood.flashFlood"
|
||||||
|
"High Water",,"EMS:flood.highWater"
|
||||||
|
"Overland Flow Flood",,"EMS:flood.overlandFlowFlood"
|
||||||
|
"Tsunami",,"EMS:flood.tsunami"
|
||||||
|
"Avalanche",,"EMS:geophysical.avalanche"
|
||||||
|
"Earthquake",,"EMS:geophysical.earthquake"
|
||||||
|
"Lahar",,"EMS:geophysical.lahar"
|
||||||
|
"Landslide",,"EMS:geophysical.landslide"
|
||||||
|
"Magnetic Storm",,"EMS:geophysical.magneticStorm"
|
||||||
|
"Meteorite",,"EMS:geophysical.meteorite"
|
||||||
|
"Pyroclastic Flow",,"EMS:geophysical.pyroclasticFlow"
|
||||||
|
"Pyroclastic Surge",,"EMS:geophysical.pyroclasticSurge"
|
||||||
|
"Volcanic Ash Cloud",,"EMS:geophysical.volcanicAshCloud"
|
||||||
|
"Volcanic Event",,"EMS:geophysical.volcanicEvent"
|
||||||
|
"Hazardous Material",,"EMS:hazardousMaterial"
|
||||||
|
"Biological Hazard",,"EMS:hazardousMaterial.biologicalHazard"
|
||||||
|
"Chemical Hazard",,"EMS:hazardousMaterial.chemicalHazard"
|
||||||
|
"Explosive Hazard",,"EMS:hazardousMaterial.explosiveHazard"
|
||||||
|
"Falling Object Hazard",,"EMS:hazardousMaterial.fallingObjectHazard"
|
||||||
|
"Infectious Disease (Hazardous Material)",,"EMS:hazardousMaterial.infectiousDisease"
|
||||||
|
"Poisonous Gas",,"EMS:hazardousMaterial.poisonousGas"
|
||||||
|
"Radiological Hazard",,"EMS:hazardousMaterial.radiologicalHazard"
|
||||||
|
"Infectious Disease",,"EMS:health.infectiousDisease"
|
||||||
|
"Infestation",,"EMS:health.infestation"
|
||||||
|
"Iceberg",,"EMS:ice.iceberg"
|
||||||
|
"Ice Pressure",,"EMS:ice.icePressure"
|
||||||
|
"Rapid Close Lead",,"EMS:ice.rapidCloseLead"
|
||||||
|
"Special Ice",,"EMS:ice.specialIce"
|
||||||
|
"Marine Security",,"EMS:marine.marineSecurity"
|
||||||
|
"Nautical Accident",,"EMS:marine.nauticalAccident"
|
||||||
|
"Nautical Hijacking",,"EMS:marine.nauticalHijacking"
|
||||||
|
"Port Closure",,"EMS:marine.portClosure"
|
||||||
|
"Special Marine",,"EMS:marine.specialMarine"
|
||||||
|
"Blizzard",,"EMS:meteorological.blizzard"
|
||||||
|
"Blowing Snow",,"EMS:meteorological.blowingSnow"
|
||||||
|
"Drought",,"EMS:meteorological.drought"
|
||||||
|
"Dust Storm",,"EMS:meteorological.dustStorm"
|
||||||
|
"Fog",,"EMS:meteorological.fog"
|
||||||
|
"Freezing Drizzle",,"EMS:meteorological.freezingDrizzle"
|
||||||
|
"Freezing Rain",,"EMS:meteorological.freezingRain"
|
||||||
|
"Freezing Spray",,"EMS:meteorological.freezingSpray"
|
||||||
|
"Hail",,"EMS:meteorological.hail"
|
||||||
|
"Hurricane",,"EMS:meteorological.hurricane"
|
||||||
|
"Rain Fall",,"EMS:meteorological.rainFall"
|
||||||
|
"Snow Fall",,"EMS:meteorological.snowFall"
|
||||||
|
"Snow Squall",,"EMS:meteorological.snowSquall"
|
||||||
|
"Squall",,"EMS:meteorological.squall"
|
||||||
|
"Storm Surge",,"EMS:meteorological.stormSurge"
|
||||||
|
"Thunderstorm",,"EMS:meteorological.thunderstorm"
|
||||||
|
"Tornado",,"EMS:meteorological.tornado"
|
||||||
|
"Tropical Storm",,"EMS:meteorological.tropicalStorm"
|
||||||
|
"Waterspout",,"EMS:meteorological.waterspout"
|
||||||
|
"Winter Storm",,"EMS:meteorological.winterStorm"
|
||||||
|
"Missing Person",,"EMS:missingPerson"
|
||||||
|
"Child Abduction Emergency","http://en.wikipedia.org/wiki/Amber_Alert","EMS:missingPerson.amberAlert"
|
||||||
|
"Missing Vulnerable Person",,"EMS:missingPerson.missingVulnerablePerson"
|
||||||
|
"Missing Senior Citizen","http://en.wikipedia.org/wiki/Silver_Alert","EMS:missingPerson.silver"
|
||||||
|
"Emergency Support Facility",,"EMS:publicService.emergencySupportFacility"
|
||||||
|
"Emergency Support Service",,"EMS:publicService.emergencySupportService"
|
||||||
|
"School Closure",,"EMS:publicService.schoolClosure"
|
||||||
|
"School Lockdown",,"EMS:publicService.schoolLockdown"
|
||||||
|
"Service or Facility",,"EMS:publicService.serviceOrFacility"
|
||||||
|
"Transit",,"EMS:publicService.transit"
|
||||||
|
"Railway Accident",,"EMS:railway.railwayAccident"
|
||||||
|
"Railway Hijacking",,"EMS:railway.railwayHijacking"
|
||||||
|
"Bridge Closed",,"EMS:roadway.bridgeClosure"
|
||||||
|
"Hazardous Road Conditions",,"EMS:roadway.hazardousRoadConditions"
|
||||||
|
"Road Accident",,"EMS:roadway.roadwayAccident"
|
||||||
|
"Road Closed",,"EMS:roadway.roadwayClosure"
|
||||||
|
"Road Delay",,"EMS:roadway.roadwayDelay"
|
||||||
|
"Road Hijacking",,"EMS:roadway.roadwayHijacking"
|
||||||
|
"Road Usage Condition",,"EMS:roadway.roadwayUsageCondition"
|
||||||
|
"Traffic Report",,"EMS:roadway.trafficReport"
|
||||||
|
"Arctic Outflow",,"EMS:temperature.arcticOutflow"
|
||||||
|
"Cold Wave",,"EMS:temperature.coldWave"
|
||||||
|
"Flash Freeze",,"EMS:temperature.flashFreeze"
|
||||||
|
"Frost",,"EMS:temperature.frost"
|
||||||
|
"Heat and Humidity",,"EMS:temperature.heatAndHumidity"
|
||||||
|
"Heat Wave",,"EMS:temperature.heatWave"
|
||||||
|
"Wind Chill",,"EMS:temperature.windChill"
|
||||||
|
"Gale Wind",,"EMS:wind.galeWind"
|
||||||
|
"Hurricane Force Wind",,"EMS:wind.hurricaneForceWind"
|
||||||
|
"Storm Force Wind",,"EMS:wind.stormForceWind"
|
||||||
|
"Strong Wind",,"EMS:wind.strongWind"
|
||||||
|
"Building Collapsed",,,
|
||||||
|
"People Trapped",,,
|
||||||
|
"Power Failure",,,
|
Can't render this file because it has a wrong number of fields in line 126.
|
@ -0,0 +1,293 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
from gluon import *
|
||||||
|
from gluon.storage import Storage
|
||||||
|
from s3 import *
|
||||||
|
#from s3theme import NAV, SECTION
|
||||||
|
|
||||||
|
# Below is an example which you can base your own template's layout.py on
|
||||||
|
# - there are also other examples in the other templates folders
|
||||||
|
# - you will need to restart web2py after making changes to this file
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
#class S3MainMenuLayout(S3NavigationItem):
|
||||||
|
# """
|
||||||
|
# Application Main Menu Layout
|
||||||
|
#
|
||||||
|
# The layout() function takes an S3NavigationItem instance as input
|
||||||
|
# and renders it as an HTML helper class instance. If the item can
|
||||||
|
# or shall not be rendered on the page, this method must return None.
|
||||||
|
#
|
||||||
|
# S3NavigationItem instances provide a number of attributes and methods
|
||||||
|
# to support context-sensisitve rendering (see modules/s3/s3navigation.py).
|
||||||
|
#
|
||||||
|
# Note that individual items can override the layout method by explicitly
|
||||||
|
# setting the layout-property in the item's constructor.
|
||||||
|
# """
|
||||||
|
#
|
||||||
|
# @staticmethod
|
||||||
|
# def layout(item):
|
||||||
|
# """ Custom Layout Method """
|
||||||
|
#
|
||||||
|
# @staticmethod
|
||||||
|
# def layout(item):
|
||||||
|
# """ Layout Method (Item Renderer) """
|
||||||
|
#
|
||||||
|
# # Manage flags: hide any disabled/unauthorized items
|
||||||
|
# if not item.authorized and not item.opts.always_display:
|
||||||
|
# item.enabled = False
|
||||||
|
# item.visible = False
|
||||||
|
# elif item.enabled is None or item.enabled:
|
||||||
|
# item.enabled = True
|
||||||
|
# item.visible = True
|
||||||
|
#
|
||||||
|
# if item.enabled and item.visible:
|
||||||
|
#
|
||||||
|
# items = item.render_components()
|
||||||
|
# if item.parent is not None:
|
||||||
|
#
|
||||||
|
# if item.attr._class:
|
||||||
|
# classes = item.attr._class.split(" ")
|
||||||
|
# else:
|
||||||
|
# classes = []
|
||||||
|
#
|
||||||
|
# if item.parent.parent is None:
|
||||||
|
# # Item at the top-level?
|
||||||
|
# toplevel = True
|
||||||
|
# if item.opts.right:
|
||||||
|
# classes.append("menu-right")
|
||||||
|
# else:
|
||||||
|
# toplevel = False
|
||||||
|
#
|
||||||
|
# if item.components:
|
||||||
|
# classes.append("has-dropdown not-click")
|
||||||
|
# _class = " ".join(classes)
|
||||||
|
# # Menu item with Dropdown
|
||||||
|
# if item.get_first(enabled=True):
|
||||||
|
# _href = item.url()
|
||||||
|
# return LI(A(item.label,
|
||||||
|
# _href=_href,
|
||||||
|
# _id=item.attr._id
|
||||||
|
# ),
|
||||||
|
# UL(items,
|
||||||
|
# _class="dropdown"
|
||||||
|
# ),
|
||||||
|
# _class=_class,
|
||||||
|
# )
|
||||||
|
# else:
|
||||||
|
# # Menu item without Drop-Down
|
||||||
|
# if toplevel:
|
||||||
|
# item_url = item.url()
|
||||||
|
# if item_url == URL(c="default", f="index"):
|
||||||
|
# classes.append("menu-home")
|
||||||
|
# if item.selected:
|
||||||
|
# classes.append("active")
|
||||||
|
# _class = " ".join(classes)
|
||||||
|
# return LI(A(item.label,
|
||||||
|
# _href=item_url,
|
||||||
|
# _id=item.attr._id,
|
||||||
|
# _target=item.attr._target,
|
||||||
|
# ),
|
||||||
|
# _class=_class,
|
||||||
|
# )
|
||||||
|
# else:
|
||||||
|
# # Submenu item
|
||||||
|
# if isinstance(item.label, dict):
|
||||||
|
# if "id" in item.label:
|
||||||
|
# return S3MainMenuDefaultLayout.checkbox_item(item)
|
||||||
|
# elif "name" in item.label:
|
||||||
|
# label = item.label["name"]
|
||||||
|
# else:
|
||||||
|
# return None
|
||||||
|
# else:
|
||||||
|
# label = item.label
|
||||||
|
# link = A(label,
|
||||||
|
# _href=item.url(),
|
||||||
|
# _id=item.attr._id,
|
||||||
|
# _target=item.attr._target,
|
||||||
|
# )
|
||||||
|
# _class = " ".join(classes)
|
||||||
|
# return LI(link, _class=_class)
|
||||||
|
# else:
|
||||||
|
# # The main menu itself
|
||||||
|
# T = current.T
|
||||||
|
# settings = current.deployment_settings
|
||||||
|
#
|
||||||
|
# if item.opts.title_area:
|
||||||
|
# # Custom override
|
||||||
|
# title_area = item.opts.title_area
|
||||||
|
# else:
|
||||||
|
# # Standard: render a menu logo
|
||||||
|
# logo = settings.get_ui_menu_logo()
|
||||||
|
# if logo is None:
|
||||||
|
# # Render an icon
|
||||||
|
# logo = SPAN(settings.get_system_name_short(),
|
||||||
|
# _class="logo",
|
||||||
|
# )
|
||||||
|
# elif isinstance(logo, str):
|
||||||
|
# # Assume image-URL
|
||||||
|
# logo = IMG(_src = logo,
|
||||||
|
# _class = "logo",
|
||||||
|
# _alt = settings.get_system_name_short(),
|
||||||
|
# )
|
||||||
|
# #else:
|
||||||
|
# # use as-is (assume HTML or T())
|
||||||
|
# title_area = A(logo,
|
||||||
|
# _href = URL(c="default", f="index"),
|
||||||
|
# _title = T("Homepage"),
|
||||||
|
# )
|
||||||
|
#
|
||||||
|
# # Arrange items left/right
|
||||||
|
# right = []
|
||||||
|
# left = []
|
||||||
|
# for item in items:
|
||||||
|
# if "menu-right" in item["_class"]:
|
||||||
|
# item.remove_class("menu-right")
|
||||||
|
# right.append(item)
|
||||||
|
# else:
|
||||||
|
# left.append(item)
|
||||||
|
# right.reverse()
|
||||||
|
#
|
||||||
|
# # Reverse if right-to-left
|
||||||
|
# if current.response.s3.rtl:
|
||||||
|
# right, left = left, right
|
||||||
|
#
|
||||||
|
# # Build top-bar HTML
|
||||||
|
# return NAV(UL(LI(title_area,
|
||||||
|
# _class="name",
|
||||||
|
# ),
|
||||||
|
# LI(A(SPAN(T("Menu"))),
|
||||||
|
# _class="toggle-topbar menu-icon",
|
||||||
|
# ),
|
||||||
|
# _class="title-area",
|
||||||
|
# ),
|
||||||
|
# SECTION(UL(right,
|
||||||
|
# _class="right",
|
||||||
|
# ),
|
||||||
|
# UL(left,
|
||||||
|
# _class="left",
|
||||||
|
# ),
|
||||||
|
# _class="top-bar-section",
|
||||||
|
# ),
|
||||||
|
# _class = "top-bar",
|
||||||
|
# data = {"topbar": " "},
|
||||||
|
# )
|
||||||
|
# else:
|
||||||
|
# return None
|
||||||
|
#
|
||||||
|
# # ---------------------------------------------------------------------
|
||||||
|
# @staticmethod
|
||||||
|
# def checkbox_item(item):
|
||||||
|
# """ Render special active items """
|
||||||
|
#
|
||||||
|
# name = item.label
|
||||||
|
# link = item.url()
|
||||||
|
# _id = name["id"]
|
||||||
|
# if "name" in name:
|
||||||
|
# _name = name["name"]
|
||||||
|
# else:
|
||||||
|
# _name = ""
|
||||||
|
# if "value" in name:
|
||||||
|
# _value = name["value"]
|
||||||
|
# else:
|
||||||
|
# _value = False
|
||||||
|
# if "request_type" in name:
|
||||||
|
# _request_type = name["request_type"]
|
||||||
|
# else:
|
||||||
|
# _request_type = "ajax"
|
||||||
|
# if link:
|
||||||
|
# if _request_type == "ajax":
|
||||||
|
# _onchange='''var val=$('#%s:checked').length;$.getS3('%s'+'?val='+val,null,false,null,false,false)''' % \
|
||||||
|
# (_id, link)
|
||||||
|
# else:
|
||||||
|
# # Just load the page. Use this if the changed menu
|
||||||
|
# # item should alter the contents of the page, and
|
||||||
|
# # it's simpler just to load it.
|
||||||
|
# _onchange="location.href='%s'" % link
|
||||||
|
# else:
|
||||||
|
# _onchange=None
|
||||||
|
# return LI(A(INPUT(_type="checkbox",
|
||||||
|
# _id=_id,
|
||||||
|
# _onchange=_onchange,
|
||||||
|
# value=_value,
|
||||||
|
# ),
|
||||||
|
# "%s" % _name,
|
||||||
|
# _nowrap="nowrap",
|
||||||
|
# ),
|
||||||
|
# _class="menu-toggle",
|
||||||
|
# )
|
||||||
|
#
|
||||||
|
# =============================================================================
|
||||||
|
#class S3OptionsMenuLayout(S3NavigationItem):
|
||||||
|
# """ Controller Options Menu Layout """
|
||||||
|
#
|
||||||
|
# @staticmethod
|
||||||
|
# def layout(item):
|
||||||
|
# """ Custom Layout Method """
|
||||||
|
#
|
||||||
|
# # Manage flags: hide any disabled/unauthorized items
|
||||||
|
# if not item.authorized:
|
||||||
|
# enabled = False
|
||||||
|
# visible = False
|
||||||
|
# elif item.enabled is None or item.enabled:
|
||||||
|
# enabled = True
|
||||||
|
# visible = True
|
||||||
|
#
|
||||||
|
# if enabled and visible:
|
||||||
|
# if item.parent is not None:
|
||||||
|
# if item.enabled and item.authorized:
|
||||||
|
#
|
||||||
|
# if item.components:
|
||||||
|
# # Submenu
|
||||||
|
# _class = ""
|
||||||
|
# if item.parent.parent is None and item.selected:
|
||||||
|
# _class = "active"
|
||||||
|
#
|
||||||
|
# section = [LI(A(item.label,
|
||||||
|
# _href=item.url(),
|
||||||
|
# _id=item.attr._id,
|
||||||
|
# ),
|
||||||
|
# _class="heading %s" % _class,
|
||||||
|
# ),
|
||||||
|
# ]
|
||||||
|
#
|
||||||
|
# items = item.render_components()
|
||||||
|
# if items:
|
||||||
|
# section.append(UL(items))
|
||||||
|
# return section
|
||||||
|
#
|
||||||
|
# else:
|
||||||
|
# # Submenu item
|
||||||
|
# if item.parent.parent is None:
|
||||||
|
# _class = "heading"
|
||||||
|
# else:
|
||||||
|
# _class = ""
|
||||||
|
#
|
||||||
|
# return LI(A(item.label,
|
||||||
|
# _href=item.url(),
|
||||||
|
# _id=item.attr._id,
|
||||||
|
# ),
|
||||||
|
# _class=_class,
|
||||||
|
# )
|
||||||
|
# else:
|
||||||
|
# # Main menu
|
||||||
|
# items = item.render_components()
|
||||||
|
# return DIV(NAV(UL(items, _id="main-sub-menu", _class="side-nav")), _class="sidebar")
|
||||||
|
#
|
||||||
|
# else:
|
||||||
|
# return None
|
||||||
|
#
|
||||||
|
# =============================================================================
|
||||||
|
#class S3MenuSeparatorLayout(S3NavigationItem):
|
||||||
|
# """ Simple menu separator """
|
||||||
|
#
|
||||||
|
# @staticmethod
|
||||||
|
# def layout(item):
|
||||||
|
# """ Custom Layout Method """
|
||||||
|
#
|
||||||
|
# if item.parent is not None:
|
||||||
|
# return LI(_class="divider hide-for-small")
|
||||||
|
# else:
|
||||||
|
# return None
|
||||||
|
#
|
||||||
|
# END =========================================================================
|
@ -0,0 +1,49 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
import datetime
|
||||||
|
import os
|
||||||
|
import time
|
||||||
|
|
||||||
|
from gluon import current
|
||||||
|
from gluon.settings import global_settings
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
class Daily():
|
||||||
|
""" Daily Maintenance Tasks """
|
||||||
|
|
||||||
|
def __call__(self):
|
||||||
|
|
||||||
|
db = current.db
|
||||||
|
s3db = current.s3db
|
||||||
|
request = current.request
|
||||||
|
|
||||||
|
now = request.utcnow
|
||||||
|
month_past = now - datetime.timedelta(weeks=4)
|
||||||
|
|
||||||
|
# Cleanup Scheduler logs
|
||||||
|
table = s3db.scheduler_run
|
||||||
|
db(table.start_time < month_past).delete()
|
||||||
|
|
||||||
|
# Cleanup Sync logs
|
||||||
|
table = s3db.sync_log
|
||||||
|
db(table.timestmp < month_past).delete()
|
||||||
|
|
||||||
|
# Cleanup Sessions
|
||||||
|
osjoin = os.path.join
|
||||||
|
osstat = os.stat
|
||||||
|
osremove = os.remove
|
||||||
|
folder = osjoin(global_settings.applications_parent,
|
||||||
|
request.folder,
|
||||||
|
"sessions")
|
||||||
|
# Convert to UNIX time
|
||||||
|
month_past_u = time.mktime(month_past.timetuple())
|
||||||
|
for file in os.listdir(folder):
|
||||||
|
filepath = osjoin(folder, file)
|
||||||
|
status = osstat(filepath)
|
||||||
|
if status.st_mtime < month_past_u:
|
||||||
|
try:
|
||||||
|
osremove(filepath)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
# END =========================================================================
|
@ -0,0 +1,4 @@
|
|||||||
|
Name,Organisation
|
||||||
|
"Normal Member",
|
||||||
|
"Life Member",
|
||||||
|
"Honorary Member",
|
|
@ -0,0 +1,116 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
from gluon import *
|
||||||
|
from s3 import *
|
||||||
|
from s3layouts import *
|
||||||
|
try:
|
||||||
|
from .layouts import *
|
||||||
|
except ImportError:
|
||||||
|
pass
|
||||||
|
import s3menus as default
|
||||||
|
|
||||||
|
# Below is an example which you can base your own template's menus.py on
|
||||||
|
# - there are also other examples in the other templates folders
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
#class S3MainMenu(default.S3MainMenu):
|
||||||
|
#"""
|
||||||
|
#Custom Application Main Menu:
|
||||||
|
|
||||||
|
#The main menu consists of several sub-menus, each of which can
|
||||||
|
#be customised separately as a method of this class. The overall
|
||||||
|
#composition of the menu is defined in the menu() method, which can
|
||||||
|
#be customised as well:
|
||||||
|
|
||||||
|
#Function Sub-Menu Access to (standard)
|
||||||
|
|
||||||
|
#menu_modules() the modules menu the Eden modules
|
||||||
|
#menu_gis() the GIS menu GIS configurations
|
||||||
|
#menu_admin() the Admin menu System/User Administration
|
||||||
|
#menu_lang() the Language menu Selection of the GUI locale
|
||||||
|
#menu_auth() the User menu Login, Logout, User Profile
|
||||||
|
#menu_help() the Help menu Contact page, About page
|
||||||
|
|
||||||
|
#The standard uses the MM layout class for main menu items - but you
|
||||||
|
#can of course use a custom layout class which you define in layouts.py.
|
||||||
|
|
||||||
|
#Additional sub-menus can simply be defined as additional functions in
|
||||||
|
#this class, and then be included in the menu() method.
|
||||||
|
|
||||||
|
#Each sub-menu function returns a list of menu items, only the menu()
|
||||||
|
#function must return a layout class instance.
|
||||||
|
#"""
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
|
#@classmethod
|
||||||
|
#def menu(cls):
|
||||||
|
#""" Compose Menu """
|
||||||
|
|
||||||
|
#main_menu = MM()(
|
||||||
|
|
||||||
|
## Modules-menu, align-left
|
||||||
|
#cls.menu_modules(),
|
||||||
|
|
||||||
|
## Service menus, align-right
|
||||||
|
## Note: always define right-hand items in reverse order!
|
||||||
|
#cls.menu_help(right=True),
|
||||||
|
#cls.menu_auth(right=True),
|
||||||
|
#cls.menu_lang(right=True),
|
||||||
|
#cls.menu_admin(right=True),
|
||||||
|
#cls.menu_gis(right=True)
|
||||||
|
#)
|
||||||
|
#return main_menu
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
|
#@classmethod
|
||||||
|
#def menu_modules(cls):
|
||||||
|
#""" Custom Modules Menu """
|
||||||
|
|
||||||
|
#return [
|
||||||
|
#homepage(),
|
||||||
|
#homepage("gis"),
|
||||||
|
#homepage("pr")(
|
||||||
|
#MM("Persons", f="person"),
|
||||||
|
#MM("Groups", f="group")
|
||||||
|
#),
|
||||||
|
#MM("more", link=False)(
|
||||||
|
#homepage("dvi"),
|
||||||
|
#homepage("irs")
|
||||||
|
#),
|
||||||
|
#]
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
#class S3OptionsMenu(default.S3OptionsMenu):
|
||||||
|
#"""
|
||||||
|
#Custom Controller Menus
|
||||||
|
|
||||||
|
#The options menu (left-hand options menu) is individual for each
|
||||||
|
#controller, so each controller has its own options menu function
|
||||||
|
#in this class.
|
||||||
|
|
||||||
|
#Each of these option menu functions can be customised separately,
|
||||||
|
#by simply overriding (re-defining) the default function. The
|
||||||
|
#options menu function must return an instance of the item layout.
|
||||||
|
|
||||||
|
#The standard menu uses the M item layout class, but you can of
|
||||||
|
#course also use any other layout class which you define in
|
||||||
|
#layouts.py (can also be mixed).
|
||||||
|
|
||||||
|
#Make sure additional helper functions in this class don't match
|
||||||
|
#any current or future controller prefix (e.g. by using an
|
||||||
|
#underscore prefix).
|
||||||
|
#"""
|
||||||
|
|
||||||
|
#def cr(self):
|
||||||
|
#""" CR / Shelter Registry """
|
||||||
|
|
||||||
|
#return M(c="cr")(
|
||||||
|
#M("Camp", f="shelter")(
|
||||||
|
#M("New", m="create"),
|
||||||
|
#M("List All"),
|
||||||
|
#M("Map", m="map"),
|
||||||
|
#M("Import", m="import"),
|
||||||
|
#)
|
||||||
|
#)
|
||||||
|
|
||||||
|
# END =========================================================================
|
@ -0,0 +1,5 @@
|
|||||||
|
Name,Comments,KV:XX
|
||||||
|
Headquarters,,
|
||||||
|
Regional,,
|
||||||
|
National,,
|
||||||
|
Field,,
|
|
@ -0,0 +1,24 @@
|
|||||||
|
Abrv,Name,SubsectorOf
|
||||||
|
"Agriculture","Agriculture",
|
||||||
|
"Camp","Camp Coordination/Management",
|
||||||
|
"Recovery","Early Recovery",
|
||||||
|
"Education","Education",
|
||||||
|
"Shelter","Emergency Shelter",
|
||||||
|
"Telecommunications","Emergency Telecommunications",
|
||||||
|
"Health","Health",
|
||||||
|
"Logistics","Logistics",
|
||||||
|
"Nutrition","Nutrition",
|
||||||
|
"Protection","Protection",
|
||||||
|
"WASH","Water Sanitation Hygiene",
|
||||||
|
"Clothing",,"Shelter"
|
||||||
|
"Shelter",,"Shelter"
|
||||||
|
"Cooking NFIs",,"Nutrition"
|
||||||
|
"Food Supply",,"Nutrition"
|
||||||
|
"Aggravating factors",,"WASH"
|
||||||
|
"Disease vectors",,"WASH"
|
||||||
|
"Drainage",,"WASH"
|
||||||
|
"Excreta disposal",,"WASH"
|
||||||
|
"Hygiene NFIs",,"WASH"
|
||||||
|
"Hygiene practice",,"WASH"
|
||||||
|
"Solid waste",,"WASH"
|
||||||
|
"Water supply",,"WASH"
|
|
@ -0,0 +1,11 @@
|
|||||||
|
Name,Comments
|
||||||
|
Academic,
|
||||||
|
Bilateral,Donor
|
||||||
|
Government,
|
||||||
|
Intergovernmental,
|
||||||
|
Military,
|
||||||
|
NGO,
|
||||||
|
Private,Organisation/Foundation
|
||||||
|
Red Cross / Red Crescent,
|
||||||
|
Supplier,
|
||||||
|
UN agency,
|
|
@ -0,0 +1,624 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# vim: ai ts=4 sts=4 et sw=4 encoding=utf-8
|
||||||
|
|
||||||
|
""" Message Parsing
|
||||||
|
|
||||||
|
Template-specific Message Parsers are defined here.
|
||||||
|
|
||||||
|
@copyright: 2012-2017 (c) Sahana Software Foundation
|
||||||
|
@license: MIT
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person
|
||||||
|
obtaining a copy of this software and associated documentation
|
||||||
|
files (the "Software"), to deal in the Software without
|
||||||
|
restriction, including without limitation the rights to use,
|
||||||
|
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the
|
||||||
|
Software is furnished to do so, subject to the following
|
||||||
|
conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be
|
||||||
|
included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||||
|
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||||
|
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
|
OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
"""
|
||||||
|
|
||||||
|
__all__ = ("S3Parser",)
|
||||||
|
|
||||||
|
#import re
|
||||||
|
|
||||||
|
#import pyparsing
|
||||||
|
try:
|
||||||
|
import nltk
|
||||||
|
from nltk.corpus import wordnet as wn
|
||||||
|
NLTK = True
|
||||||
|
except:
|
||||||
|
NLTK = False
|
||||||
|
|
||||||
|
from gluon import current
|
||||||
|
from gluon.tools import fetch
|
||||||
|
|
||||||
|
from s3.s3fields import S3Represent
|
||||||
|
from s3.s3parser import S3Parsing
|
||||||
|
from s3.s3utils import soundex
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
class S3Parser(object):
|
||||||
|
"""
|
||||||
|
Message Parsing Template
|
||||||
|
"""
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
|
@staticmethod
|
||||||
|
def parse_twitter(message):
|
||||||
|
"""
|
||||||
|
Filter unstructured tweets
|
||||||
|
"""
|
||||||
|
|
||||||
|
db = current.db
|
||||||
|
s3db = current.s3db
|
||||||
|
cache = s3db.cache
|
||||||
|
|
||||||
|
# Start with a base priority
|
||||||
|
priority = 0
|
||||||
|
|
||||||
|
# Default Category
|
||||||
|
category = "Unknown"
|
||||||
|
|
||||||
|
# Lookup the channel type
|
||||||
|
#ctable = s3db.msg_channel
|
||||||
|
#channel = db(ctable.channel_id == message.channel_id).select(ctable.instance_type,
|
||||||
|
# limitby=(0, 1)
|
||||||
|
# ).first()
|
||||||
|
#service = channel.instance_type.split("_", 2)[1]
|
||||||
|
#if service in ("mcommons", "tropo", "twilio"):
|
||||||
|
# service = "sms"
|
||||||
|
#if service == "twitter":
|
||||||
|
# priority -= 1
|
||||||
|
#elif service == "sms":
|
||||||
|
# priority += 1
|
||||||
|
service = "twitter"
|
||||||
|
|
||||||
|
# Lookup trusted senders
|
||||||
|
# - these could be trained or just trusted
|
||||||
|
table = s3db.msg_sender
|
||||||
|
ctable = s3db.pr_contact
|
||||||
|
query = (table.deleted == False) & \
|
||||||
|
(ctable.pe_id == table.pe_id) & \
|
||||||
|
(ctable.contact_method == "TWITTER")
|
||||||
|
senders = db(query).select(table.priority,
|
||||||
|
ctable.value,
|
||||||
|
cache=cache)
|
||||||
|
for s in senders:
|
||||||
|
if sender == s[ctable].value:
|
||||||
|
priority += s[table].priority
|
||||||
|
break
|
||||||
|
|
||||||
|
# If Anonymous, check their history
|
||||||
|
# - within our database
|
||||||
|
# if service == "twitter":
|
||||||
|
# # Check Followers
|
||||||
|
# # Check Retweets
|
||||||
|
# # Check when account was created
|
||||||
|
# (Note that it is still possible to game this - plausible accounts can be purchased)
|
||||||
|
|
||||||
|
ktable = s3db.msg_keyword
|
||||||
|
keywords = db(ktable.deleted == False).select(ktable.id,
|
||||||
|
ktable.keyword,
|
||||||
|
ktable.incident_type_id,
|
||||||
|
cache=cache)
|
||||||
|
incident_type_represent = S3Represent(lookup="event_incident_type")
|
||||||
|
if NLTK:
|
||||||
|
# Lookup synonyms
|
||||||
|
# @ToDo: Cache
|
||||||
|
synonyms = {}
|
||||||
|
for kw in keywords:
|
||||||
|
syns = []
|
||||||
|
try:
|
||||||
|
synsets = wn.synsets(kw.keyword)
|
||||||
|
for synset in synsets:
|
||||||
|
syns += [lemma.name for lemma in synset.lemmas]
|
||||||
|
except LookupError:
|
||||||
|
nltk.download("wordnet")
|
||||||
|
synsets = wn.synsets(kw.keyword)
|
||||||
|
for synset in synsets:
|
||||||
|
syns += [lemma.name for lemma in synset.lemmas]
|
||||||
|
synonyms[kw.keyword.lower()] = syns
|
||||||
|
|
||||||
|
ltable = s3db.gis_location
|
||||||
|
query = (ltable.deleted != True) & \
|
||||||
|
(ltable.name != None)
|
||||||
|
locs = db(query).select(ltable.id,
|
||||||
|
ltable.name,
|
||||||
|
cache=cache)
|
||||||
|
lat = lon = None
|
||||||
|
location_id = None
|
||||||
|
loc_matches = 0
|
||||||
|
|
||||||
|
# Split message into words
|
||||||
|
words = message.split(" ")
|
||||||
|
|
||||||
|
index = 0
|
||||||
|
max_index = len(words) - 1
|
||||||
|
for word in words:
|
||||||
|
word = word.lower()
|
||||||
|
if word.endswith(".") or \
|
||||||
|
word.endswith(":") or \
|
||||||
|
word.endswith(","):
|
||||||
|
word = word[:-1]
|
||||||
|
|
||||||
|
skip = False
|
||||||
|
|
||||||
|
if word in ("safe", "ok"):
|
||||||
|
priority -= 1
|
||||||
|
elif word in ("help"):
|
||||||
|
priority += 1
|
||||||
|
elif service == "twitter" and \
|
||||||
|
word == "RT":
|
||||||
|
# @ToDo: Increase priority of the original message
|
||||||
|
priority -= 1
|
||||||
|
skip = True
|
||||||
|
|
||||||
|
# Look for URL
|
||||||
|
if word.startswith("http://"):
|
||||||
|
priority += 1
|
||||||
|
skip = True
|
||||||
|
# @ToDo: Follow URL to see if we can find an image
|
||||||
|
#try:
|
||||||
|
# page = fetch(word)
|
||||||
|
#except urllib2.HTTPError:
|
||||||
|
# pass
|
||||||
|
# Check returned str for image like IS_IMAGE()
|
||||||
|
|
||||||
|
if (index < max_index):
|
||||||
|
if word == "lat":
|
||||||
|
skip = True
|
||||||
|
try:
|
||||||
|
lat = words[index + 1]
|
||||||
|
lat = float(lat)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
elif word == "lon":
|
||||||
|
skip = True
|
||||||
|
try:
|
||||||
|
lon = words[index + 1]
|
||||||
|
lon = float(lon)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
if not skip:
|
||||||
|
for kw in keywords:
|
||||||
|
_word = kw.keyword.lower()
|
||||||
|
if _word == word:
|
||||||
|
# Check for negation
|
||||||
|
if index and words[index - 1].lower() == "no":
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
category = incident_type_represent(kw.incident_type_id)
|
||||||
|
break
|
||||||
|
elif NLTK:
|
||||||
|
# Synonyms
|
||||||
|
if word in synonyms[_word]:
|
||||||
|
# Check for negation
|
||||||
|
if index and words[index - 1].lower() == "no":
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
category = incident_type_represent(kw.incident_type_id)
|
||||||
|
break
|
||||||
|
# Check for Location
|
||||||
|
for loc in locs:
|
||||||
|
name = loc.name.lower()
|
||||||
|
# @ToDo: Do a Unicode comparison
|
||||||
|
if word == name:
|
||||||
|
if not loc_matches:
|
||||||
|
location_id = loc.id
|
||||||
|
priority += 1
|
||||||
|
loc_matches += 1
|
||||||
|
elif (index < max_index) and \
|
||||||
|
("%s %s" % (word, words[index + 1]) == name):
|
||||||
|
# Try names with 2 words
|
||||||
|
if not loc_matches:
|
||||||
|
location_id = loc.id
|
||||||
|
priority += 1
|
||||||
|
loc_matches += 1
|
||||||
|
|
||||||
|
index += 1
|
||||||
|
|
||||||
|
# @ToDo: Prioritise reports from people located where they are reporting from
|
||||||
|
# if coordinates:
|
||||||
|
|
||||||
|
if not loc_matches or loc_matches > 1:
|
||||||
|
if lat and lon:
|
||||||
|
location_id = ltable.insert(lat = lat,
|
||||||
|
lon = lon)
|
||||||
|
elif service == "twitter":
|
||||||
|
# @ToDo: Use Geolocation of Tweet
|
||||||
|
#location_id =
|
||||||
|
pass
|
||||||
|
|
||||||
|
# @ToDo: Update records inside this function with parsed data
|
||||||
|
# @ToDo: Image
|
||||||
|
#return category, priority, location_id
|
||||||
|
|
||||||
|
# No reply here
|
||||||
|
return None
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
|
@staticmethod
|
||||||
|
def _parse_keywords(message_body):
|
||||||
|
"""
|
||||||
|
Parse Keywords
|
||||||
|
- helper function for search_resource, etc
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Equivalent keywords in one list
|
||||||
|
primary_keywords = ["get", "give", "show"]
|
||||||
|
contact_keywords = ["email", "mobile", "facility", "clinical",
|
||||||
|
"security", "phone", "status", "hospital",
|
||||||
|
"person", "organisation"]
|
||||||
|
|
||||||
|
pkeywords = primary_keywords + contact_keywords
|
||||||
|
keywords = message_body.split(" ")
|
||||||
|
pquery = []
|
||||||
|
name = ""
|
||||||
|
for word in keywords:
|
||||||
|
match = None
|
||||||
|
for key in pkeywords:
|
||||||
|
if soundex(key) == soundex(word):
|
||||||
|
match = key
|
||||||
|
break
|
||||||
|
if match:
|
||||||
|
pquery.append(match)
|
||||||
|
else:
|
||||||
|
name = word
|
||||||
|
|
||||||
|
return pquery, name
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
|
def search_resource(self, message):
|
||||||
|
"""
|
||||||
|
1st Pass Parser for searching resources
|
||||||
|
- currently supports people, hospitals and organisations.
|
||||||
|
"""
|
||||||
|
|
||||||
|
message_body = message.body
|
||||||
|
if not message_body:
|
||||||
|
return None
|
||||||
|
|
||||||
|
pquery, name = self._parse_keywords(message_body)
|
||||||
|
|
||||||
|
if "person" in pquery:
|
||||||
|
reply = self.search_person(message, pquery, name)
|
||||||
|
elif "hospital" in pquery:
|
||||||
|
reply = self.search_hospital(message, pquery, name)
|
||||||
|
elif "organisation" in pquery:
|
||||||
|
reply = self.search_organisation(message, pquery, name)
|
||||||
|
else:
|
||||||
|
reply = None
|
||||||
|
|
||||||
|
return reply
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
|
def search_person(self, message, pquery=None, name=None):
|
||||||
|
"""
|
||||||
|
Search for People
|
||||||
|
- can be called direct
|
||||||
|
- can be called from search_by_keyword
|
||||||
|
"""
|
||||||
|
|
||||||
|
message_body = message.body
|
||||||
|
if not message_body:
|
||||||
|
return None
|
||||||
|
|
||||||
|
if not pquery or not name:
|
||||||
|
pquery, name = self._parse_keywords(message_body)
|
||||||
|
|
||||||
|
T = current.T
|
||||||
|
db = current.db
|
||||||
|
s3db = current.s3db
|
||||||
|
|
||||||
|
reply = None
|
||||||
|
result = []
|
||||||
|
|
||||||
|
# Person Search [get name person phone email]
|
||||||
|
s3_accessible_query = current.auth.s3_accessible_query
|
||||||
|
table = s3db.pr_person
|
||||||
|
query = (table.deleted == False) & \
|
||||||
|
(s3_accessible_query("read", table))
|
||||||
|
rows = db(query).select(table.pe_id,
|
||||||
|
table.first_name,
|
||||||
|
table.middle_name,
|
||||||
|
table.last_name)
|
||||||
|
_name = soundex(str(name))
|
||||||
|
for row in rows:
|
||||||
|
if (_name == soundex(row.first_name)) or \
|
||||||
|
(_name == soundex(row.middle_name)) or \
|
||||||
|
(_name == soundex(row.last_name)):
|
||||||
|
presult = dict(name = row.first_name, id = row.pe_id)
|
||||||
|
result.append(presult)
|
||||||
|
|
||||||
|
if len(result) == 0:
|
||||||
|
return T("No Match")
|
||||||
|
|
||||||
|
elif len(result) > 1:
|
||||||
|
return T("Multiple Matches")
|
||||||
|
|
||||||
|
else:
|
||||||
|
# Single Match
|
||||||
|
reply = result[0]["name"]
|
||||||
|
table = s3db.pr_contact
|
||||||
|
if "email" in pquery:
|
||||||
|
query = (table.pe_id == result[0]["id"]) & \
|
||||||
|
(table.contact_method == "EMAIL") & \
|
||||||
|
(s3_accessible_query("read", table))
|
||||||
|
recipient = db(query).select(table.value,
|
||||||
|
orderby = table.priority,
|
||||||
|
limitby=(0, 1)).first()
|
||||||
|
if recipient:
|
||||||
|
reply = "%s Email->%s" % (reply, recipient.value)
|
||||||
|
else:
|
||||||
|
reply = "%s 's Email Not available!" % reply
|
||||||
|
if "phone" in pquery:
|
||||||
|
query = (table.pe_id == result[0]["id"]) & \
|
||||||
|
(table.contact_method == "SMS") & \
|
||||||
|
(s3_accessible_query("read", table))
|
||||||
|
recipient = db(query).select(table.value,
|
||||||
|
orderby = table.priority,
|
||||||
|
limitby=(0, 1)).first()
|
||||||
|
if recipient:
|
||||||
|
reply = "%s Mobile->%s" % (reply,
|
||||||
|
recipient.value)
|
||||||
|
else:
|
||||||
|
reply = "%s 's Mobile Contact Not available!" % reply
|
||||||
|
|
||||||
|
return reply
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
def search_hospital(self, message, pquery=None, name=None):
|
||||||
|
"""
|
||||||
|
Search for Hospitals
|
||||||
|
- can be called direct
|
||||||
|
- can be called from search_by_keyword
|
||||||
|
"""
|
||||||
|
|
||||||
|
message_body = message.body
|
||||||
|
if not message_body:
|
||||||
|
return None
|
||||||
|
|
||||||
|
if not pquery or not name:
|
||||||
|
pquery, name = self._parse_keywords(message_body)
|
||||||
|
|
||||||
|
T = current.T
|
||||||
|
db = current.db
|
||||||
|
s3db = current.s3db
|
||||||
|
|
||||||
|
reply = None
|
||||||
|
result = []
|
||||||
|
|
||||||
|
# Hospital Search [example: get name hospital facility status ]
|
||||||
|
table = s3db.hms_hospital
|
||||||
|
stable = s3db.hms_status
|
||||||
|
query = (table.deleted == False) & \
|
||||||
|
(current.auth.s3_accessible_query("read", table))
|
||||||
|
rows = db(query).select(table.id,
|
||||||
|
table.name,
|
||||||
|
table.aka1,
|
||||||
|
table.aka2,
|
||||||
|
table.phone_emergency
|
||||||
|
)
|
||||||
|
_name = soundex(str(name))
|
||||||
|
for row in rows:
|
||||||
|
if (_name == soundex(row.name)) or \
|
||||||
|
(_name == soundex(row.aka1)) or \
|
||||||
|
(_name == soundex(row.aka2)):
|
||||||
|
result.append(row)
|
||||||
|
|
||||||
|
if len(result) == 0:
|
||||||
|
return T("No Match")
|
||||||
|
|
||||||
|
elif len(result) > 1:
|
||||||
|
return T("Multiple Matches")
|
||||||
|
|
||||||
|
else:
|
||||||
|
# Single Match
|
||||||
|
hospital = result[0]
|
||||||
|
status = db(stable.hospital_id == hospital.id).select(stable.facility_status,
|
||||||
|
stable.clinical_status,
|
||||||
|
stable.security_status,
|
||||||
|
limitby=(0, 1)
|
||||||
|
).first()
|
||||||
|
reply = "%s %s (%s) " % (reply, hospital.name,
|
||||||
|
T("Hospital"))
|
||||||
|
if "phone" in pquery:
|
||||||
|
reply = reply + "Phone->" + str(hospital.phone_emergency)
|
||||||
|
if "facility" in pquery:
|
||||||
|
reply = reply + "Facility status " + \
|
||||||
|
str(stable.facility_status.represent\
|
||||||
|
(status.facility_status))
|
||||||
|
if "clinical" in pquery:
|
||||||
|
reply = reply + "Clinical status " + \
|
||||||
|
str(stable.clinical_status.represent\
|
||||||
|
(status.clinical_status))
|
||||||
|
if "security" in pquery:
|
||||||
|
reply = reply + "Security status " + \
|
||||||
|
str(stable.security_status.represent\
|
||||||
|
(status.security_status))
|
||||||
|
|
||||||
|
return reply
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
def search_organisation(self, message, pquery=None, name=None):
|
||||||
|
"""
|
||||||
|
Search for Organisations
|
||||||
|
- can be called direct
|
||||||
|
- can be called from search_by_keyword
|
||||||
|
"""
|
||||||
|
|
||||||
|
message_body = message.body
|
||||||
|
if not message_body:
|
||||||
|
return None
|
||||||
|
|
||||||
|
if not pquery or not name:
|
||||||
|
pquery, name = self._parse_keywords(message_body)
|
||||||
|
|
||||||
|
T = current.T
|
||||||
|
db = current.db
|
||||||
|
s3db = current.s3db
|
||||||
|
|
||||||
|
reply = None
|
||||||
|
result = []
|
||||||
|
|
||||||
|
# Organization search [example: get name organisation phone]
|
||||||
|
s3_accessible_query = current.auth.s3_accessible_query
|
||||||
|
table = s3db.org_organisation
|
||||||
|
query = (table.deleted == False) & \
|
||||||
|
(s3_accessible_query("read", table))
|
||||||
|
rows = db(query).select(table.id,
|
||||||
|
table.name,
|
||||||
|
table.phone,
|
||||||
|
table.acronym)
|
||||||
|
_name = soundex(str(name))
|
||||||
|
for row in rows:
|
||||||
|
if (_name == soundex(row.name)) or \
|
||||||
|
(_name == soundex(row.acronym)):
|
||||||
|
result.append(row)
|
||||||
|
|
||||||
|
if len(reply) == 0:
|
||||||
|
return T("No Match")
|
||||||
|
|
||||||
|
elif len(result) > 1:
|
||||||
|
return T("Multiple Matches")
|
||||||
|
|
||||||
|
else:
|
||||||
|
# Single Match
|
||||||
|
org = result[0]
|
||||||
|
reply = "%s %s (%s) " % (reply, org.name,
|
||||||
|
T("Organization"))
|
||||||
|
if "phone" in pquery:
|
||||||
|
reply = reply + "Phone->" + str(org.phone)
|
||||||
|
if "office" in pquery:
|
||||||
|
otable = s3db.org_office
|
||||||
|
query = (otable.organisation_id == org.id) & \
|
||||||
|
(s3_accessible_query("read", otable))
|
||||||
|
office = db(query).select(otable.address,
|
||||||
|
limitby=(0, 1)).first()
|
||||||
|
reply = reply + "Address->" + office.address
|
||||||
|
|
||||||
|
return reply
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
|
def parse_ireport(self, message):
|
||||||
|
"""
|
||||||
|
Parse Messages directed to the IRS Module
|
||||||
|
- logging new incidents
|
||||||
|
- responses to deployment requests
|
||||||
|
"""
|
||||||
|
|
||||||
|
message_body = message.body
|
||||||
|
if not message_body:
|
||||||
|
return None
|
||||||
|
|
||||||
|
(lat, lon, code, text) = current.msg.parse_opengeosms(message_body)
|
||||||
|
|
||||||
|
if code == "SI":
|
||||||
|
# Create New Incident Report
|
||||||
|
reply = self._create_ireport(lat, lon, text)
|
||||||
|
else:
|
||||||
|
# Is this a Response to a Deployment Request?
|
||||||
|
words = message_body.split(" ")
|
||||||
|
text = ""
|
||||||
|
reponse = ""
|
||||||
|
report_id = None
|
||||||
|
comments = False
|
||||||
|
for word in words:
|
||||||
|
if "SI#" in word and not ireport:
|
||||||
|
report = word.split("#")[1]
|
||||||
|
report_id = int(report)
|
||||||
|
elif (soundex(word) == soundex("Yes")) and report_id \
|
||||||
|
and not comments:
|
||||||
|
response = True
|
||||||
|
comments = True
|
||||||
|
elif soundex(word) == soundex("No") and report_id \
|
||||||
|
and not comments:
|
||||||
|
response = False
|
||||||
|
comments = True
|
||||||
|
elif comments:
|
||||||
|
text += word + " "
|
||||||
|
|
||||||
|
if report_id:
|
||||||
|
reply = self._respond_drequest(message, report_id, response, text)
|
||||||
|
else:
|
||||||
|
reply = None
|
||||||
|
|
||||||
|
return reply
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
|
@staticmethod
|
||||||
|
def _create_ireport(lat, lon, text):
|
||||||
|
"""
|
||||||
|
Create New Incident Report
|
||||||
|
"""
|
||||||
|
|
||||||
|
s3db = current.s3db
|
||||||
|
rtable = s3db.irs_ireport
|
||||||
|
gtable = s3db.gis_location
|
||||||
|
info = text.split(" ")
|
||||||
|
name = info[len(info) - 1]
|
||||||
|
category = ""
|
||||||
|
for a in range(0, len(info) - 1):
|
||||||
|
category = category + info[a] + " "
|
||||||
|
|
||||||
|
#@ToDo: Check for an existing location in DB
|
||||||
|
#records = db(gtable.id>0).select(gtable.id, \
|
||||||
|
# gtable.lat,
|
||||||
|
# gtable.lon)
|
||||||
|
#for record in records:
|
||||||
|
# try:
|
||||||
|
# if "%.6f"%record.lat == str(lat) and \
|
||||||
|
# "%.6f"%record.lon == str(lon):
|
||||||
|
# location_id = record.id
|
||||||
|
# break
|
||||||
|
# except:
|
||||||
|
# pass
|
||||||
|
|
||||||
|
location_id = gtable.insert(name="Incident:%s" % name,
|
||||||
|
lat=lat,
|
||||||
|
lon=lon)
|
||||||
|
rtable.insert(name=name,
|
||||||
|
message=text,
|
||||||
|
category=category,
|
||||||
|
location_id=location_id)
|
||||||
|
|
||||||
|
# @ToDo: Include URL?
|
||||||
|
reply = "Incident Report Logged!"
|
||||||
|
return reply
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
|
@staticmethod
|
||||||
|
def _respond_drequest(message, report_id, response, text):
|
||||||
|
"""
|
||||||
|
Parse Replies To Deployment Request
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Can we identify the Human Resource?
|
||||||
|
hr_id = S3Parsing().lookup_human_resource(message.from_address)
|
||||||
|
if hr_id:
|
||||||
|
rtable = current.s3db.irs_ireport_human_resource
|
||||||
|
query = (rtable.ireport_id == report_id) & \
|
||||||
|
(rtable.human_resource_id == hr_id)
|
||||||
|
current.db(query).update(reply=text,
|
||||||
|
response=response)
|
||||||
|
reply = "Response Logged in the Report (Id: %d )" % report_id
|
||||||
|
else:
|
||||||
|
reply = None
|
||||||
|
|
||||||
|
return reply
|
||||||
|
|
||||||
|
# END =========================================================================
|
@ -0,0 +1,31 @@
|
|||||||
|
"Name"
|
||||||
|
"Advocacy"
|
||||||
|
"Awareness raising"
|
||||||
|
"BDRT (Branch disaster response teams)"
|
||||||
|
"Capacity Building"
|
||||||
|
"CDRT (Community disaster response teams)"
|
||||||
|
"Children's Education"
|
||||||
|
"Climate change mitigation"
|
||||||
|
"Climate change preparednes"
|
||||||
|
"Community Based Health and First Aid (CBHFA)"
|
||||||
|
"Community organisation"
|
||||||
|
"Contingency planning"
|
||||||
|
"DM Planning"
|
||||||
|
"Early warning"
|
||||||
|
"Evacuation drills"
|
||||||
|
"Food security "
|
||||||
|
"Hygiene promotion"
|
||||||
|
"IDRL"
|
||||||
|
"IEC Materials"
|
||||||
|
"Livelihoods"
|
||||||
|
"Logistics"
|
||||||
|
"Mainstreaming DRR"
|
||||||
|
"NDRT (National disaster response teams)"
|
||||||
|
"Nutrition"
|
||||||
|
"Risk transfer"
|
||||||
|
"Sanitation"
|
||||||
|
"School Safety"
|
||||||
|
"Small scale mitigation"
|
||||||
|
"Tools & Equipment"
|
||||||
|
"VCA (Vulnerability and Capacity Assessment)"
|
||||||
|
"Water Supply"
|
|
@ -0,0 +1,11 @@
|
|||||||
|
"Name"
|
||||||
|
"Individuals"
|
||||||
|
"Families/HH"
|
||||||
|
"Men"
|
||||||
|
"Women"
|
||||||
|
"Boys"
|
||||||
|
"Girls"
|
||||||
|
"Teachers"
|
||||||
|
"Pupils"
|
||||||
|
"Government Staff"
|
||||||
|
"Stakeholder Staff"
|
|
@ -0,0 +1,17 @@
|
|||||||
|
"Name","Comments"
|
||||||
|
"Avalanche","snow avalanche, snow slide"
|
||||||
|
"Cold Wave","extreme weather, extreme temperature, cold temperatures"
|
||||||
|
"Cyclone","hurricane, tropical storm, tropical depression, typhoon"
|
||||||
|
"Drought","deficiency of precipitation, desertification, pronounced absence of rainfall"
|
||||||
|
"Earthquake","seismic, tectonic"
|
||||||
|
"Epidemic","bubonic plague, cholera, dengue, non-pandemic diseases, typhoid"
|
||||||
|
"Flood","inundation; includes: flash floods"
|
||||||
|
"Heat Wave","extreme weather, extreme temperature, high temperatures"
|
||||||
|
"Insect Infestation","locust, plague, African bees"
|
||||||
|
"Land Slide","debris flow, mud flow, mud slide, rock fall, slide, lahar, rock slide and topple"
|
||||||
|
"Storm Surge","coastal flood, wave surge, wind setup"
|
||||||
|
"Technical","Disaster chemical spill/leak, explosions, collapses, gas leaks, urban fire, oil spill, technical failure"
|
||||||
|
"Tornado","waterspout, twister, vortex"
|
||||||
|
"Tsunami","Tsunami"
|
||||||
|
"Volcano","crater, lava, magma, molten materials, pyroclastic flows, volcanic rock, volcanic ash"
|
||||||
|
"Fire","urban fire, bush fire, forest fire, uncontrolled fire, wildland fire"
|
|
@ -0,0 +1,4 @@
|
|||||||
|
Name,Comments
|
||||||
|
Proposed,
|
||||||
|
Current,
|
||||||
|
Completed,
|
|
@ -0,0 +1,30 @@
|
|||||||
|
Name,Comments
|
||||||
|
Capacity Development,"training and development, institutional strengthening, institutional learning"
|
||||||
|
Civil Society/NGOs,"civic action, collective community action, community-based organization (CBO) action, grassroots action, integrative DRR, non-governmental organization (NGO) action"
|
||||||
|
Climate Change,"adaptation to climate change, sustainable development"
|
||||||
|
Community-based DRR,"local knowledge, local risk mapping"
|
||||||
|
Complex Emergency,"multiple hazard crisis, humanitarian crisis, conflict"
|
||||||
|
Critical Infrastructure,"communications systems, health facilities, 'lifelines', power and energy, emergency evacuation shelters, financial infrastructure, schools, transportation, waste disposal, water supplies"
|
||||||
|
Disaster Risk Management,"civil protection, contingency and emergency planning, early recovery, preparedness"
|
||||||
|
Early Warning,"risk knowledge, monitoring and warning service, risk communication, response capability, disaster preparedness, risk modelling"
|
||||||
|
Economics of DRR,"cost benefit analysis, disaster risk financing, financial effects of disasters, poverty and disaster risk, risk sharing, socio-economic impacts of disasters"
|
||||||
|
Education & School Safety,"learning, safe schools"
|
||||||
|
Environment,"sustainable development, environmental degradation, ecosystems and environmental management"
|
||||||
|
Food Security & Agriculture,"cost benefit analysis, disaster risk financing, financial effects of disasters, poverty and disaster risk, risk sharing, socio-economic impacts of disasterscost benefit analysis, disaster risk financing, financial effects of disasters, poverty and disaster risk, risk sharing, socio-economic impacts of disasters"
|
||||||
|
Gender,"gendered vulnerability, gender-sensitive disaster risk management"
|
||||||
|
GIS & Mapping,"geographic information systems, hazard exposure mapping, vulnerability mapping, risk mapping"
|
||||||
|
Governance,"disaster risk reduction policy and legislation, National Platform for disaster risk reduction, Regional Platforms for disaster risk reduction"
|
||||||
|
Health & Health Facilities,"capacity of health practitioners, mental health"
|
||||||
|
Indigenous Knowledge,"indigenous early warning system, local adaptation for implementation, local knowledge, local skills, local technical knowledge, local knowledge systems, traditional knowledge, transferable indigenous knowledge; related: coastal zones, food security and agricultural practice, housing, mountain ecosystems, river basin management, water management"
|
||||||
|
Information Management,"disaster databases, disaster information, disaster risk information portals, ICT"
|
||||||
|
Media,"disaster reporting, disaster information dissemination"
|
||||||
|
Private-public Partnerships,"corporate social responsibility, private sector engagement in DRR"
|
||||||
|
Recovery,"building back better, long-term recovery and reconstruction, rehabilitation, shelter"
|
||||||
|
Risk Identification & Assessment,"risk assessment, loss data, disaster risk management"
|
||||||
|
Risk Transfer & Insurance,"disaster insurance, contingency funding, micro-insurance, post-disaster loans, risk financing, risk insurance, risk sharing, pooling"
|
||||||
|
Social Impacts & Resilience,"coping capacity, loss absorption, loss acceptance, psychosocial support, social vulnerability, trauma prevention"
|
||||||
|
Space Technology,satellite disaster imagery
|
||||||
|
Structural Safety,"building codes, building standards, building materials, construction, retrofitting"
|
||||||
|
Urban Risk & Planning,"urban planning, urban management"
|
||||||
|
Vulnerable Populations,"at-risk populations, including: children, orphans, disabled, elderly, homeless, hospitalized people, illegal immigrants, illiterate, medically or chemically dependent, impoverished populations, migrants, Person With Disabilities (PWDs), speakers of non-local languages"
|
||||||
|
Water,"drinking water, freshwater, irrigation, potable water, water and sanitation, water resource management"
|
|
@ -0,0 +1,6 @@
|
|||||||
|
"Name","Comments"
|
||||||
|
"IDP Refugee Camp","OCHA Icons"
|
||||||
|
"Permanent Camp","OCHA Icons"
|
||||||
|
"Spontaneous Site","OCHA Icons"
|
||||||
|
"Temporary Camp","OCHA Icons"
|
||||||
|
"Transition Site","OCHA Icons"
|
|
@ -0,0 +1,67 @@
|
|||||||
|
# =============================================================================
|
||||||
|
# Add a list of CSV files to import into the system
|
||||||
|
#
|
||||||
|
# The list of import files is a comma separated list as follows:
|
||||||
|
#
|
||||||
|
# prefix,tablename,csv file name,stylesheet
|
||||||
|
#
|
||||||
|
# The CSV file is assumed to be in the same directory as this file
|
||||||
|
# The style sheet is assumed to be in either of the following directories:
|
||||||
|
# static/formats/s3csv/prefix/
|
||||||
|
# static/formats/s3csv/
|
||||||
|
#
|
||||||
|
# For details on how to import data into the system see the following:
|
||||||
|
# zzz_1st_run
|
||||||
|
# s3import::S3BulkImporter
|
||||||
|
# =============================================================================
|
||||||
|
# Authentication
|
||||||
|
*,import_role,auth_roles.csv
|
||||||
|
auth,user,masterUsers.csv,user.xsl
|
||||||
|
# GIS
|
||||||
|
gis,marker,gis_marker.csv,marker.xsl
|
||||||
|
gis,config,gis_config.csv,config.xsl
|
||||||
|
gis,hierarchy,gis_hierarchy.csv,hierarchy.xsl
|
||||||
|
gis,layer_feature,gis_layer_feature.csv,layer_feature.xsl
|
||||||
|
gis,layer_config,gis_layer_openstreetmap.csv,layer_openstreetmap.xsl
|
||||||
|
gis,layer_config,gis_layer_openweathermap.csv,layer_openweathermap.xsl
|
||||||
|
gis,layer_config,gis_layer_bing.csv,layer_bing.xsl
|
||||||
|
gis,layer_config,gis_layer_google.csv,layer_google.xsl
|
||||||
|
gis,layer_config,gis_layer_wms.csv,layer_wms.xsl
|
||||||
|
gis,layer_config,gis_layer_tms.csv,layer_tms.xsl
|
||||||
|
gis,layer_geojson,gis_layer_geojson.csv,layer_geojson.xsl
|
||||||
|
gis,layer_georss,gis_layer_georss.csv,layer_georss.xsl
|
||||||
|
gis,layer_config,gis_layer_coordinate.csv,layer_coordinate.xsl
|
||||||
|
# CMS
|
||||||
|
cms,post,cms_post.csv,post.xsl
|
||||||
|
# Organisations
|
||||||
|
org,sector,org_sector.csv,sector.xsl
|
||||||
|
org,organisation_type,organisation_type.csv,organisation_type.xsl
|
||||||
|
org,office_type,office_type.csv,office_type.xsl
|
||||||
|
# Supplies
|
||||||
|
supply,catalog_item,DefaultItems.csv,catalog_item.xsl
|
||||||
|
supply,catalog_item,StandardItems.csv,catalog_item.xsl
|
||||||
|
# Human Resource Management
|
||||||
|
hrm,skill,DefaultSkillList.csv,skill.xsl
|
||||||
|
hrm,skill,DrivingSkillList.csv,skill.xsl
|
||||||
|
hrm,skill,DrivingSkillList_EU.csv,skill.xsl
|
||||||
|
hrm,skill,LanguageSkillList.csv,skill.xsl
|
||||||
|
hrm,competency_rating,DefaultSkillCompetency.csv,competency_rating.xsl
|
||||||
|
hrm,competency_rating,LanguageCompetency.csv,competency_rating.xsl
|
||||||
|
hrm,certificate,certificate.csv,certificate.xsl
|
||||||
|
# Events
|
||||||
|
event,event_type,event_type.csv,event_type.xsl
|
||||||
|
event,incident_type,incident_type.csv,incident_type.xsl
|
||||||
|
# Projects
|
||||||
|
project,status,project_status.csv,status.xsl
|
||||||
|
project,activity_type,project_activity_type.csv,activity_type.xsl
|
||||||
|
project,hazard,project_hazard.csv,hazard.xsl
|
||||||
|
project,theme,project_theme.csv,theme.xsl
|
||||||
|
project,beneficiary_type,project_beneficiary_type.csv,beneficiary_type.xsl
|
||||||
|
# Shelters
|
||||||
|
cr,shelter_type,shelter_type.csv,shelter_type.xsl
|
||||||
|
# Disaster Victim Registry
|
||||||
|
dvr,case_status,dvr_case_status.csv,case_status.xsl
|
||||||
|
# Members
|
||||||
|
member,membership_type,membership_type.csv,membership_type.xsl
|
||||||
|
# Jobs
|
||||||
|
work,job_type,work_job_type.csv,job_type.xsl
|
@ -0,0 +1,49 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
"""
|
||||||
|
This file specifies the tests which are to be run on the default template.
|
||||||
|
|
||||||
|
modules/tests/suite.py runs this file to get the test_list which is to be loaded.
|
||||||
|
To add more tests which are to run on this template, simply add the class name
|
||||||
|
to the list below.
|
||||||
|
"""
|
||||||
|
|
||||||
|
from gluon import current
|
||||||
|
|
||||||
|
current.selenium_tests = ["CreateOrganisation",
|
||||||
|
"CreateOffice",
|
||||||
|
"CreateStaff",
|
||||||
|
"CreateStaffJobTitle",
|
||||||
|
"CreateStaffCertificate",
|
||||||
|
"SearchStaff",
|
||||||
|
"StaffReport",
|
||||||
|
"CreateVolunteer",
|
||||||
|
"CreateVolunteerJobTitle",
|
||||||
|
"CreateVolunteerProgramme",
|
||||||
|
"CreateVolunteerSkill",
|
||||||
|
"CreateVolunteerCertificate",
|
||||||
|
"VolunteerSearch",
|
||||||
|
"CreateStaffTraining",
|
||||||
|
"CreateVolunteerTraining",
|
||||||
|
"SendItem",
|
||||||
|
"ReceiveItem",
|
||||||
|
"SendReceiveItem",
|
||||||
|
"CreateProject",
|
||||||
|
"CreateAsset",
|
||||||
|
"AssetSearch",
|
||||||
|
"AssetReport",
|
||||||
|
"AddStaffParticipants",
|
||||||
|
"AddStaffToOrganisation",
|
||||||
|
"AddStaffToOffice",
|
||||||
|
"AddStaffToWarehouse",
|
||||||
|
"CreateWarehouse",
|
||||||
|
"SearchWarehouse",
|
||||||
|
"CreateItem",
|
||||||
|
"CreateCatalog",
|
||||||
|
"CreateCategory",
|
||||||
|
"ReportTestHelper",
|
||||||
|
"CreateFacility",
|
||||||
|
"CreateEvent",
|
||||||
|
"CreateIncidentReport",
|
||||||
|
"ImportStaff"
|
||||||
|
]
|
@ -0,0 +1,5 @@
|
|||||||
|
{{if settings.ui.get("social_buttons"):}}<div id="socialmedia_share"></div>{{pass}}
|
||||||
|
<p id="poweredby">
|
||||||
|
{{poweredby=T("Powered by Sahana")}}
|
||||||
|
<img src='/{{=appname}}/static/img/S3menu_logo.png' width='30' height='28' style='vertical-align:middle' alt='{{=poweredby}}' /><a target='_blank' href='http://eden.sahanafoundation.org' title='{{=poweredby}}'>{{=poweredby}}</a>
|
||||||
|
</p>
|
@ -0,0 +1,100 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="{{=T.accepted_language or "en"}}">{{# class="no-js" needed for modernizr }}
|
||||||
|
<head>{{theme=response.s3.theme}}
|
||||||
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||||
|
{{# Always force latest IE rendering engine (even in intranet) & Chrome Frame }}
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||||
|
<title>{{try:}}{{=title}}{{except:}}{{=response.title or settings.get_system_name_short()}}{{pass}}</title>
|
||||||
|
{{if response.refresh:}}{{=XML(response.refresh)}}{{pass}}
|
||||||
|
{{# http://dev.w3.org/html5/markup/meta.name.html }}
|
||||||
|
<meta name="application-name" content="{{=appname}}" />
|
||||||
|
{{# Set your site up with Google: http://google.com/webmasters }}
|
||||||
|
{{# <meta name="google-site-verification" content="" /> }}
|
||||||
|
{{a="""<!-- Mobile Viewport Fix
|
||||||
|
j.mp/mobileviewport & davidbcalhoun.com/2010/viewport-metatag
|
||||||
|
device-width: Occupy full width of the screen in its current orientation
|
||||||
|
initial-scale = 1.0 retains dimensions instead of zooming out if page height > device height
|
||||||
|
maximum-scale = 1.0 retains dimensions instead of zooming in if page width < device width
|
||||||
|
--> """}}
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
|
||||||
|
{{# Place favicon.ico and apple-touch-icon.png in the root of your domain and delete these references }}
|
||||||
|
<link rel="shortcut icon" href="/{{=appname}}/static/favicon.ico" type="image/x-icon" />
|
||||||
|
{{# <link rel="apple-touch-icon" href="/=appname/static/favicon.png" /> }}
|
||||||
|
{{# All JavaScript at the bottom, except for Modernizr which enables HTML5 elements & feature detects }}{{# This kills the map in IE8: VML.js }}
|
||||||
|
{{#<script src="/=appname/static/scripts/modernizr.min.js"></script>}}
|
||||||
|
{{for sheet in s3.external_stylesheets:}}
|
||||||
|
<link href="{{=sheet}}" rel="stylesheet" type="text/css" media="screen" charset="utf-8" />
|
||||||
|
{{pass}}
|
||||||
|
{{include "foundation.css.html"}}
|
||||||
|
{{for sheet in s3.stylesheets:}}
|
||||||
|
<link href="/{{=appname}}/static/styles/{{=sheet}}" rel="stylesheet" type="text/css" media="screen" charset="utf-8" />
|
||||||
|
{{pass}}
|
||||||
|
{{if s3.debug:}}{{=s3base.s3_include_debug_css()}}{{else:}}
|
||||||
|
{{# Built by /static/scripts/tools/build.sahana.py }}
|
||||||
|
<link href="/{{=appname}}/static/themes/{{=theme}}/eden.min.css" rel="stylesheet" type="text/css" />
|
||||||
|
{{pass}}
|
||||||
|
{{include "scripts_top.html"}}
|
||||||
|
</head>
|
||||||
|
{{try:}}
|
||||||
|
{{if r.representation == "popup":}}{{representation = "popup"}}
|
||||||
|
{{elif r.representation == "iframe":}}{{representation = "iframe"}}
|
||||||
|
{{else:}}{{representation = ""}}{{pass}}
|
||||||
|
{{except:}}{{representation = ""}}{{pass}}
|
||||||
|
{{if representation == "popup":}}
|
||||||
|
<body class='popup'>
|
||||||
|
{{if response.flash or response.confirmation:}}{{include "layout_popup.html"}}
|
||||||
|
{{else:}}{{include}}{{pass}}
|
||||||
|
{{if s3.debug:}}{{s3.scripts.append(URL(c="static", f="scripts", args=["S3", "s3.popup.js"]))}}
|
||||||
|
{{else:}}{{s3.scripts.append(URL(c="static", f="scripts", args=["S3", "s3.popup.min.js"]))}}{{pass}}
|
||||||
|
{{elif representation == "iframe":}}
|
||||||
|
{{include "layout_iframe.html"}}
|
||||||
|
{{include}}
|
||||||
|
{{else:}}
|
||||||
|
<body>
|
||||||
|
<header>
|
||||||
|
<div class="fixed">
|
||||||
|
{{=current.menu.main}}
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<main role="main" class="main">
|
||||||
|
<div class='row'>
|
||||||
|
{{if current.menu.options is not None:}}
|
||||||
|
<a id='menu-options-toggle' class='tiny secondary button show-for-small' data-status='off' data-off='{{=T("Show Options")}}' data-on='{{=T("Hide Options")}}'>{{=T("Show Options")}}</a>
|
||||||
|
<div class='medium-3 large-2 columns hide-for-small' id='menu-options'>
|
||||||
|
{{=current.menu.options}}
|
||||||
|
</div>
|
||||||
|
<div class='medium-9 large-10 columns' id='content'>
|
||||||
|
{{else:}}
|
||||||
|
<div class='medium-12 columns' id='content'>
|
||||||
|
{{pass}}
|
||||||
|
<div class='row'>
|
||||||
|
<div class='medium-8 medium-centered columns' id='alert-space'>
|
||||||
|
{{if response.error:}}<div class='alert alert-error'>{{=response.error}}</div>{{pass}}
|
||||||
|
{{if response.warning:}}<div class='alert alert-warning'>{{=response.warning}}</div>{{pass}}
|
||||||
|
{{if response.information:}}<div class='alert alert-info'>{{=response.information}}</div>{{pass}}
|
||||||
|
{{if response.confirmation:}}<div class='alert alert-success'>{{=response.confirmation}}</div>{{pass}}
|
||||||
|
{{if response.flash:}}<div class='alert alert-success'>{{=response.flash}}</div>{{pass}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{#include "breadcrumbs.html"}}
|
||||||
|
{{include}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
<footer role="complementary" class="footer">
|
||||||
|
<div class='row' id='footer'>
|
||||||
|
<div class='medium-12 columns'>
|
||||||
|
{{include "../modules/templates/%s/views/footer.html" % response.s3.theme}}
|
||||||
|
{{if s3.debug:}}
|
||||||
|
<div class="row">
|
||||||
|
<div class='medium-12 columns'>{{=s3.toolbar()}}</div>
|
||||||
|
</div>
|
||||||
|
{{pass}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
{{pass}}
|
||||||
|
{{include "scripts.html"}}
|
||||||
|
{{include "foundation.js.html"}}
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,28 @@
|
|||||||
|
Name,Comments
|
||||||
|
Administration,
|
||||||
|
Child Care,
|
||||||
|
Cleanup,
|
||||||
|
Cleaning,
|
||||||
|
Collection,
|
||||||
|
Communication,
|
||||||
|
Construction,
|
||||||
|
Cooking,
|
||||||
|
Coordination,
|
||||||
|
Demolition,
|
||||||
|
Distribution,
|
||||||
|
Elderly Care,
|
||||||
|
IT/Telecom,
|
||||||
|
Maintenance,
|
||||||
|
Medical Care,
|
||||||
|
Nursing,
|
||||||
|
Outreach,
|
||||||
|
Plumbing,
|
||||||
|
Repair,
|
||||||
|
Shipping,
|
||||||
|
Search and Rescue,
|
||||||
|
Survey,
|
||||||
|
Training,
|
||||||
|
Transport,
|
||||||
|
Triage,
|
||||||
|
Warehousing,
|
||||||
|
Other,
|
|
Loading…
Reference in New Issue
Block a user