Spotter-VM/lxc-apps/sahana/install/sahana_data/Spotter/config.py

1508 lines
70 KiB
Python

# -*- coding: utf-8 -*-
from collections import OrderedDict
from gluon import current
from gluon.storage import Storage
def config(settings):
T = current.T
# Pre-Populate
# http://eden.sahanafoundation.org/wiki/DeveloperGuidelines/PrePopulate
# Configure/disable pre-population of the database.
# To pre-populate the database On 1st run should specify directory(s) in
# /modules/templates/
# eg:
# ["default"] (1 is a shortcut for this)
# ["default", "default/users"]
# Unless doing a manual DB migration, where prepopulate = 0
# In Production, prepopulate = 0 (to save 1x DAL hit every page)
settings.base.prepopulate.append("Spotter")
# Uncomment this to prefer scalability-optimized strategies globally
#settings.base.bigtable = True
# Theme (folder to use for views/layout.html)
#settings.base.theme = "default"
# Enable Guided Tours
#settings.base.guided_tour = True
# Authentication settings
# These settings should be changed _after_ the 1st (admin) user is
# registered in order to secure the deployment
# Should users be allowed to register themselves?
#settings.security.self_registration = False
# Do new users need to verify their email address?
#settings.auth.registration_requires_verification = True
# Do new users need to be approved by an administrator prior to being able to login?
#settings.auth.registration_requires_approval = True
# Disable welcome-emails to newly registered users
#settings.auth.registration_welcome_email = False
# Allow a new user to be linked to a record (and a new record will be created if it doesn't already exist)
settings.auth.registration_link_user_to = {"staff":T("Staff"),
"volunteer":T("Volunteer"),
"member":T("Member")}
# Always notify the approver of a new (verified) user, even if the user is automatically approved
#settings.auth.always_notify_approver = False
# The name of the teams that users are added to when they opt-in to receive alerts
#settings.auth.opt_in_team_list = ["Updates"]
# Uncomment this to set the opt in default to True
#settings.auth.opt_in_default = True
# Uncomment this to request the Home Phone when a user registers
settings.auth.registration_requests_home_phone = True
# Uncomment this to request the Mobile Phone when a user registers
settings.auth.registration_requests_mobile_phone = True
# Uncomment this to have the Mobile Phone selection during registration be mandatory
#settings.auth.registration_mobile_phone_mandatory = True
# Uncomment this to request the Organisation when a user registers
settings.auth.registration_requests_organisation = True
# Uncomment this to have the Organisation selection during registration be mandatory
settings.auth.registration_organisation_required = True
# Uncomment this to hide the Create-Organisation link in registration forms
#settings.auth.registration_organisation_link_create = False
# Uncomment this to have the Organisation input hidden unless the user enters a non-whitelisted domain
#settings.auth.registration_organisation_hidden = True
# Uncomment this to default the Organisation during registration
settings.auth.registration_organisation_default = "My Organisation"
# Uncomment this to request the Organisation Group when a user registers
#settings.auth.registration_requests_organisation_group = True
# Uncomment this to have the Organisation Group selection during registration be mandatory
#settings.auth.registration_organisation_group_required = True
# Uncomment this to request the Site when a user registers
#settings.auth.registration_requests_site = True
# Uncomment this to allow Admin to see Organisations in User Admin even if the Registration doesn't request this
#settings.auth.admin_sees_organisation = True
# Uncomment to set the default role UUIDs assigned to newly-registered users
# This is a dictionary of lists, where the key is the realm that the list of roles applies to
# The key 0 implies not realm restricted
# The keys "organisation_id" and "site_id" can be used to indicate the user's "organisation_id" and "site_id"
#settings.auth.registration_roles = { 0: ["STAFF", "PROJECT_EDIT"]}
# Whether the first user to register for an Org should get the ORG_ADMIN role for that Org
settings.auth.org_admin_to_first = True
# Define which entity types to use as realm entities in role manager
settings.auth.realm_entity_types = ("org_organisation",)
# Uncomment to activate entity role manager tabs for OrgAdmins
settings.auth.entity_role_manager = True
# Define modules for entity role manager
#settings.auth.role_modules = OrderedDict([])
# Define access levels for entity role manager
#settings.auth.access_levels = OrderedDict([])
# Uncomment this to enable record approval
settings.auth.record_approval = True
# Uncomment this and specify a list of tablenames for which record approval is required
settings.auth.record_approval_required_for = ("cap_alert",)
settings.auth.record_approval_manual = ("cap_alert",)
# Uncomment this to request an image when users register
#settings.auth.registration_requests_image = True
# Uncomment this to direct newly-registered users to their volunteer page to be able to add extra details
# NB This requires Verification/Approval to be Off
# @ToDo: Extend to all optional Profile settings: Homepage, Twitter, Facebook, Mobile Phone, Image
#settings.auth.registration_volunteer = True
# Terms of Service to be able to Register on the system
# https://termsfeed.com/terms-conditions/generator/
# uses <template>/views/tos.html
settings.auth.terms_of_service = True
# Enable options for tracking user consent
settings.auth.consent_tracking = True
# Uncomment this to allow users to Login using Gmail's SMTP
#settings.auth.gmail_domains = ["gmail.com"]
# Uncomment this to allow users to Login using Office365's SMTP
#settings.auth.office365_domains = ["microsoft.com"]
# Uncomment this to allow users to Login using OpenID
#settings.auth.openid = True
# Uncomment this to allow users to login using master key
#settings.auth.masterkey = True
# Uncomment this to block password changes since managed externally (OpenID / SMTP / LDAP)
#settings.auth.password_changes = False
# Uncomment this to disable password retrieval (e.g. if impractical or unsafe)
#settings.auth.password_retrieval = False
# Uncomment this to enable presence records on login based on HTML5 geolocations
#settings.auth.set_presence_on_login = True
# Uncomment this and specify a list of location levels to be ignored by presence records
#settings.auth.ignore_levels_for_presence = ("L0", "L1", "L2", "L3")
# Uncomment this to enable the creation of new locations if a user logs in from an unknown location. Warning: This may lead to many useless location entries
#settings.auth.create_unknown_locations = True
# L10n settings
# Languages used in the deployment (used for Language Toolbar, GIS Locations, etc)
# http://www.loc.gov/standards/iso639-2/php/code_list.php
languages = OrderedDict([
("cs", "Czech"),
("en", "English"),
])
settings.L10n.languages = languages
settings.cap.languages = languages
# Default language for Language Toolbar (& GIS Locations in future)
settings.L10n.default_language = "cs"
# Uncomment to Hide the language toolbar
#settings.L10n.display_toolbar = False
# Default timezone for users
settings.L10n.timezone = "Europe/Prague"
# Uncomment these to use US-style dates in English
#settings.L10n.date_format = "%m-%d-%Y"
#settings.L10n.time_format = "%H:%M:%S"
# Start week on Sunday
#settings.L10n.firstDOW = 0
# Number formats (defaults to ISO 31-0)
# Decimal separator for numbers (defaults to ,)
#settings.L10n.decimal_separator = "."
# Thousands separator for numbers (defaults to space)
#settings.L10n.thousands_separator = ","
# Default Country Code for telephone numbers
settings.L10n.default_country_code = 420
# Make last name in person/user records mandatory
settings.L10n.mandatory_lastname = True
# Configure the list of Religions
settings.L10n.religions = {"none": T("none"),
"christian": T("Christian"),
"muslim": T("Muslim"),
"jewish": T("Jewish"),
"buddhist": T("Buddhist"),
"hindu": T("Hindu"),
"bahai": T("Bahai"),
"other": T("other")
}
# Uncomment this to Translate CMS Series Names
#settings.L10n.translate_cms_series = True
# Uncomment this to Translate Layer Names
settings.L10n.translate_gis_layer = True
# Uncomment this to Translate Location Names
settings.L10n.translate_gis_location = True
# Uncomment this for Alternate Location Names
#settings.L10n.name_alt_gis_location = True
# Uncomment this to Translate Organisation Names/Acronyms
#settings.L10n.translate_org_organisation = True
# Uncomment this to Translate Site Names
#settings.L10n.translate_org_site = True
# PDF font
settings.L10n.pdf_export_font = ['Helvetica', 'Helvetica-Bold']
# Finance settings
settings.fin.currencies = {
"BTC" : "BitCoin",
"CZK" : "Czech Koruna",
"EUR" : "Euros",
"GBP" : "Great British Pounds",
"USD" : "United States Dollars",
}
settings.fin.currency_default = "CZK"
#settings.fin.currency_writable = False # False currently breaks things
# PDF settings
# Default page size (defaults to A4)
#settings.base.pdf_size = "Letter"
# Default page orientation (defaults to "Auto" to auto-adapt for wide tables)
#settings.base.pdf_orientation = "Landscape"
# Location of Logo used in pdfs headers
#settings.ui.pdf_logo = "static/img/mylogo.png"
# Maximum number of records in PDF exports (None for unlimited)
#settings.base.pdf_max_rows = 1000
#Uncomment to add a title row to XLS exports
#settings.base.xls_title_row = True
# GIS (Map) settings
# Size of the Embedded Map
# Change this if-required for your theme
# NB API can override this in specific modules
#settings.gis.map_height = 600
#settings.gis.map_width = 1000
# Restrict the Location Selector to just certain countries
# NB This can also be over-ridden for specific contexts later
# e.g. Activities filtered to those of parent Project
#settings.gis.countries = ("US",)
# Uncomment to pass Addresses imported from CSV to a Geocoder to try and automate Lat/Lon
settings.gis.geocode_imported_addresses = "google"
# Hide the Map-based selection tool in the Location Selector
#settings.gis.map_selector = False
# Show LatLon boxes in the Location Selector
settings.gis.latlon_selector = True
# Use Building Names as a separate field in Street Addresses?
#settings.gis.building_name = False
# Use a non-default fillColor for Clustered points
#settings.gis.cluster_fill = "8087ff"
# Disable the label for clustered points
#settings.gis.cluster_label = False
# Use a non-default strokeColor for Clustered points
#settings.gis.cluster_stroke = "2b2f76"
# Use a non-default fillColor for Selected points
#settings.gis.select_fill = "ffdc33"
# Use a non-default strokeColor for Selected points
#settings.gis.select_stroke = "ff9933"
# Display Resources recorded to Admin-Level Locations on the map
# @ToDo: Move into gis_config?
# Uncomment to fall back to country LatLon to show resources, if nothing better available
#settings.gis.display_L0 = True
# Currently unused
#settings.gis.display_L1 = False
# Uncomment this to do deduplicate lookups on Imports via PCode (as alternative to Name)
#settings.gis.lookup_code = "PCode"
# Set this if there will be multiple areas in which work is being done,
# and a menu to select among them is wanted.
#settings.gis.menu = "Maps"
# Maximum Marker Size
# (takes effect only on display)
#settings.gis.marker_max_height = 35
#settings.gis.marker_max_width = 30
# Duplicate Features so that they show wrapped across the Date Line?
# Points only for now
# lon<0 have a duplicate at lon+360
# lon>0 have a duplicate at lon-360
#settings.gis.duplicate_features = True
# Uncomment to use CMS to provide Metadata on Map Layers
#settings.gis.layer_metadata = True
# Uncomment to show Clear Layers tool
settings.gis.clear_layers = True
# Uncomment to hide the Geolocation control
#settings.gis.geolocate_control = False
# Uncomment to hide the WMS GetFeatureInfo control
#settings.gis.getfeature_control = False
# Uncomment to hide Layer Properties tool
#settings.gis.layer_properties = False
# Uncomment to hide the Base Layers folder in the LayerTree
#settings.gis.layer_tree_base = False
# Uncomment to hide the Overlays folder in the LayerTree
#settings.gis.layer_tree_overlays = False
# Uncomment to change the label of the Overlays folder in the LayerTree
#settings.gis.label_overlays = "Overlays"
# Uncomment to not expand the folders in the LayerTree by default
#settings.gis.layer_tree_expanded = False
# Uncomment to have custom folders in the LayerTree use Radio Buttons
#settings.gis.layer_tree_radio = True
# Uncomment to display the Map Legend as a floating DIV
settings.gis.legend = "float"
# Uncomment to use scalability-optimized options lookups in location filters
#settings.gis.location_filter_bigtable_lookups = True
# Uncomment to prevent showing LatLon in Location Represents
#settings.gis.location_represent_address_only = True
# Mouse Position: 'normal', 'mgrs' or None
#settings.gis.mouse_position = "mgrs"
# Uncomment to show the Navigation controls on the toolbar
settings.gis.nav_controls = True
# Uncomment to hide the Overview map
#settings.gis.overview = False
# Uncomment to hide the permalink control
#settings.gis.permalink = False
# Resources which can be directly added to the main map
#settings.gis.poi_create_resources = None
settings.gis.poi_create_resources = [{"c":"event", "f":"incident_report", "table": "gis_poi", "label": T("Add Incident Report") ,"tooltip": T("Add Incident Report"), "layer":"Incident Reports", "location": "popup"}]
# PoIs to export in KML/OSM feeds from Admin locations
#settings.gis.poi_export_resources = ["cr_shelter", "hms_hospital", "org_office"]
# Uncomment to show the Print control:
# http://eden.sahanafoundation.org/wiki/UserGuidelines/Admin/MapPrinting
#settings.gis.print_button = True
# Uncomment to save a screenshot whenever a saved map is saved
#settings.gis.config_screenshot = (820, 410)
# Uncomment to hide the Save control, or set to "float"
#settings.gis.save = False
# Uncomment to hide the ScaleLine control
#settings.gis.scaleline = False
# Uncomment to hide the GeoNames search box
#settings.gis.search_geonames = False
# Uncomment to modify the Simplify Tolerance
settings.gis.simplify_tolerance = 0
# Uncomment this for highly-zoomed maps showing buildings
#settings.gis.precision = 5
# Uncomment to Hide the Toolbar from the main Map
#settings.gis.toolbar = False
# Uncomment to show Catalogue Layers in Map Widgets (e.g. Profile & Summary pages)
#settings.gis.widget_catalogue_layers = True
# Uncomment to show WMS Browser in Map Widgets (e.g. Profile & Summary pages)
# - NB This also requires the active gis_config to have one configured
#settings.gis.widget_wms_browser = True
# Uncomment to hide the Zoom control
#settings.gis.zoomcontrol = False
# Uncomment to open Location represent links in a Popup Window
#settings.gis.popup_location_link = True
# Uncomment to include WKT in XML exports
#settings.gis.xml_wkt = True
# GeoNames username
settings.gis.geonames_username = "trendspotter"
# Messaging Settings
# If you wish to use a parser.py in another folder than "default"
#settings.msg.parser = "mytemplatefolder"
# Uncomment to turn off enforcement of E.123 international phone number notation
#settings.msg.require_international_phone_numbers = False
# Uncomment to make basestation codes unique
#settings.msg.basestation_code_unique = True
# Use 'soft' deletes
#settings.security.archive_not_delete = False
# AAA Settings
# Security Policy
# http://eden.sahanafoundation.org/wiki/S3AAA#System-widePolicy
# 1: Simple (default): Global as Reader, Authenticated as Editor
# 2: Editor role required for Update/Delete, unless record owned by session
# 3: Apply Controller ACLs
# 4: Apply both Controller & Function ACLs
# 5: Apply Controller, Function & Table ACLs
# 6: Apply Controller, Function, Table ACLs and Entity Realm
# 7: Apply Controller, Function, Table ACLs and Entity Realm + Hierarchy
# 8: Apply Controller, Function, Table ACLs, Entity Realm + Hierarchy and Delegations
#
settings.security.policy = 7 # Organisation-ACLs
# Ownership-rule for records without owner:
# True = not owned by any user (strict ownership, default)
# False = owned by any authenticated user
#settings.security.strict_ownership = False
# Audit
# - can be a callable for custom hooks (return True to also perform normal logging, or False otherwise)
# NB Auditing (especially Reads) slows system down & consumes diskspace
#settings.security.audit_read = True
#settings.security.audit_write = True
# Lock-down access to Map Editing
#settings.security.map = True
# Allow non-MapAdmins to edit hierarchy locations? Defaults to True if not set.
# (Permissions can be set per-country within a gis_config)
#settings.gis.edit_Lx = False
# Allow non-MapAdmins to edit group locations? Defaults to False if not set.
#settings.gis.edit_GR = True
# Note that editing of locations used as regions for the Regions menu is always
# restricted to MapAdmins.
# Uncomment to disable that LatLons are within boundaries of their parent
#settings.gis.check_within_parent_boundaries = False
# Uncomment to Disable the Postcode selector in the LocationSelector
#settings.gis.postcode_selector = False
# Increase these if having scalability issues or slow connections
#settings.ui.autocomplete_delay = 800
#settings.ui.autocomplete_min_chars = 2
#settings.ui.filter_auto_submit = 800
#settings.ui.report_auto_submit = 800
# Enable this for a UN-style deployment
#settings.ui.cluster = True
# Enable this to use the label 'Camp' instead of 'Shelter'
#settings.ui.camp = True
# Enable this to have Open links in IFrames open a full page in a new tab
settings.ui.iframe_opens_full = True
# Enable this to change the label for 'Attachments' tabs
#settings.ui.label_attachments = "Attachments"
# Uncomment to configure the LocationSelector labels for the Map button with Points
#settings.label_locationselector_map_point_add = "Find on Map"
#settings.label_locationselector_map_point_view = "Find on Map"
# Enable this to change the label for 'Mobile Phone'
#settings.ui.label_mobile_phone = "Cell Phone"
# Enable this to change the label for 'Postcode'
#settings.ui.label_postcode = "ZIP Code"
# Enable Social Media share buttons
#settings.ui.social_buttons = True
# Enable this to show pivot table options form by default
#settings.ui.hide_report_options = False
# Uncomment to show created_by/modified_by using Names not Emails
settings.ui.auth_user_represent = "name"
# Uncomment to control the dataTables layout: https://datatables.net/reference/option/dom
# Default:
#settings.ui.datatables_dom = "fril<'dataTable_table't>pi"
# dataTables.Foundation.js would set to this:
#settings.ui.datatables_dom = "<'row'<'large-6 columns'l><'large-6 columns'f>r>t<'row'<'large-6 columns'i><'large-6 columns'p>>"
# Move the export_formats after the pagination control
#settings.ui.datatables_initComplete = '''$('.dataTables_paginate').after($('.dt-export-options'))'''
# Uncomment for dataTables to use a different paging style:
#settings.ui.datatables_pagingType = "bootstrap"
# Uncomment to restrict the export formats available
#settings.ui.export_formats = ("kml", "pdf", "rss", "xls", "xml")
# Uncomment to change the label/class of FilterForm clear buttons
#settings.ui.filter_clear = "Clear"
# Uncomment to include an Interim Save button on CRUD forms
settings.ui.interim_save = True
# Uncomment to enable icons on action buttons (requires corresponding CSS)
settings.ui.use_button_icons = True
# Uncomment to use S3MultiSelectWidget on all dropdowns (currently the Auth Registration page & LocationSelectorWidget2 listen to this)
#settings.ui.multiselect_widget = True
# Theme for the S3HierarchyWidget
#settings.ui.hierarchy_theme = dict(css = "../themes/MYTHEME",
# icons = True,
# stripes = False,
# )
# Uncomment to show a default cancel button in standalone create/update forms
settings.ui.default_cancel_button = True
# Uncomment to disable responsive behavior of datatables
#settings.ui.datatables_responsive = False
# Uncomment to enable double scroll bars on non-responsive datatables
#settings.ui.datatables_double_scroll = True
# Uncomment to modify the label of the Permalink
#settings.ui.label_permalink = "Permalink"
# Uncomment to modify the main menu logo
#settings.ui.menu_logo = URL(c="static", f="img", args=["S3menulogo.png"])
# Configure business hours to indicate in organizer (can be a list)
#settings.ui.organizer_business_hours = {"dow": [1,2,3,4,5], "start": "08:00", "end": "18:00"}
# Configure a time format for organizer events to override locale default
#settings.ui.organizer_time_format = "H:mm"
# Configure the snap raster width in organizer (hh:mm:ss)
#settings.ui.organizer_snap_duration = "00:15:00"
# -------------------------------------------------------------------------
# Sync
# Uncomment if this deployment exposes public data sets
settings.sync.data_repository = True
# -------------------------------------------------------------------------
# Asset
# Uncomment to have a specific asset type for Telephones
settings.asset.telephones = True
# -------------------------------------------------------------------------
# Beneficiary Registry
# --- Terminology ---
# Terminology to use when referring to cases (Beneficiary|Client|Case)
#settings.br.case_terminology = "Beneficiary"
# Terminology to use when referring to measures of assistance (Counseling|Assistance)
#settings.br.assistance_terminology = "Counseling"
# --- Need Categories ---
# Use hierarchical need categories
#settings.br.needs_hierarchical = True
# Let all orgs use a common set of need categories
#settings.br.needs_org_specific = False
# --- Basic Case Options ---
# Show the case organisation even if only one option
#settings.br.case_hide_default_org = False
# Disable assignment of cases to staff
#settings.br.case_manager = False
# Expose fields to track home address in case file
#settings.br.case_address = True
# Disable documentation of language details in case file
#settings.br.case_language_details = False
# Control household size tracking in case files: False, True or "auto" (=default)
#settings.br.household_size = "auto"
# Layout class for beneficiary ID cards
#settings.br.id_card_layout = IDCardLayout
# User roles with permission to export beneficiary ID cards
#settings.br.id_card_export_roles = ["ORG_ADMIN", "CASE_MANAGEMENT"]
# --- Case File Tabs ---
# Hide the contact info tab in case files
#settings.br.case_contacts_tab = False
# Show the ID-tab in case files
#settings.br.case_id_tab = True
# Hide the family members tab in case files
#settings.br.case_family_tab = False
# Enable case file tab to track service contacts
#settings.br.service_contacts = True
# Show tab with notes journal
#settings.br.case_notes_tab = True
# Show the photos-tab in case files
#settings.br.case_photos_tab = True
# Hide the documents-tab in case files
#settings.br.case_documents_tab = False
# --- Attachments ---
# Hide activity attachments from case documents-tab
#settings.br.case_include_activity_docs = False
# Hide case group attachments from case documents-tab
#settings.br.case_include_group_docs = False
# --- Case Activities ---
# Disable tracking of case activities
#settings.br.case_activities = False
# Disable assignment of case activities to staff
#settings.br.case_activity_manager = False
# Expose "urgent" priority for case activities (=emergencies)
#settings.br.case_activity_urgent_option = True
# Disable need categories in case activities
#settings.br.case_activity_need = False
# Use a free-text subject line in case activities
#settings.br.case_activity_subject = True
# Use a free-text field to document need details in case activities
#settings.br.case_activity_need_details = True
# Disable status and end-date for case activities
#settings.br.case_activity_status = False
# Show end-date of case activites (True=show, "writable"=allow manual edit)
#settings.br.case_activity_end_date = True
# Enable inline-updates of case activities
#settings.br.case_activity_updates = True
# Disable fields for outcome documentation
#settings.br.case_activity_outcome = False
# Allow documents to be attached to case activities
#settings.br.case_activity_documents = True
# --- Assistance Measures ---
# Disable tracking of individual assistance measures
#settings.br.manage_assistance = False
# Use separate tab to track assistance measures
#settings.br.assistance_tab = True
# Hide inline assistance measures on case activity tab
#settings.br.assistance_inline = False
# Document date+time (rather than only date) for assistance measures
#settings.br.assistance_measures_use_time = True
# Set default status of assistance measures to closed
#settings.br.assistance_measure_default_closed = True
# Disable assignment of assistance measures to staff
#settings.br.assistance_manager = False
# Disable types of assistance (e.g. if there is only one type)
#settings.br.assistance_types = False
# --- Assistance Themes ---
# Enable assistance themes
#settings.br.assistance_themes = True
# Use a common set of assistance themes rather than org-specific
#settings.br.assistance_themes_org_specific = False
# Organize assistance themes by org sector
#settings.br.assistance_themes_sectors = True
# Organize assistance themes by need type
#settings.br.assistance_themes_needs = True
# Document assistance details per theme
#settings.br.assistance_details_per_theme = True
# Enable auto-linking of assistance measure details to case activities
#settings.br.assistance_activity_autolink = True
# Disable tracking of effort (=hours spent) for assistance measures
#settings.br.assistance_track_effort = False
# -------------------------------------------------------------------------
# CMS
# Uncomment this to hide CMS from module index pages
#settings.cms.hide_index = True
# Uncomment to use Bookmarks in Newsfeed
#settings.cms.bookmarks = True
# Uncomment to use have Filter form in Newsfeed be open by default
#settings.cms.filter_open = True
# Uncomment to adjust filters in Newsfeed when clicking on locations instead of opening the profile page
#settings.cms.location_click_filters = True
# Uncomment to use Rich Text editor in Newsfeed
settings.cms.richtext = True
# Uncomment to show Events in Newsfeed
settings.cms.show_events = True
# Uncomment to hide Attachments in Newsfeed
#settings.cms.show_attachments = False
# Uncomment to show Links in Newsfeed
settings.cms.show_links = True
# Uncomment to show Tags in Newsfeed
settings.cms.show_tags = True
# Uncomment to show post Titles in Newsfeed
#settings.cms.show_titles = True
# Uncomment to use organisation_id instead of created_by in Newsfeed
#settings.cms.organisation = "post_organisation.organisation_id"
# Uncomment to use org_group_id in Newsfeed
#settings.cms.organisation_group = "created_by$org_group_id"
#settings.cms.organisation_group = "post_organisation_group.group_id"
# Uncomment to use person_id instead of created_by in Newsfeed
#settings.cms.person = "person_id"
# -------------------------------------------------------------------------
# Shelters
# Uncomment to use a dynamic population estimation by calculations based on registrations
#settings.cr.shelter_population_dynamic = True
# Uncomment to disable people registration in shelters
#settings.cr.people_registration = False
# Uncomment to use Tags for Shelters
settings.cr.tags = True
# Uncomment to generate tasks from shelter inspections (requires project module)
#settings.cr.shelter_inspection_tasks = True
# Configure active statuses for shelter inspection tasks (subset of project.task_status_opts)
#settings.cr.shelter_inspection_task_active_statuses = (2, 3, 6)
# -------------------------------------------------------------------------
# Disaster Victim Registry / Case Management
# Uncomment to use the term Beneficiary instead of Case
#settings.dvr.label = "Beneficiary"
# Uncomment this to enable tracking of transfer origin/destination sites
#settings.dvr.track_transfer_sites = True
# Uncomment this to enable features to manage transferability of cases
#settings.dvr.manage_transferability = True
# Uncomment this to enable household size in cases, set to "auto" for automatic counting
#settings.dvr.household_size = True
# Uncomment this to expose flags to mark appointment types as mandatory
#settings.dvr.mandatory_appointments = True
# Uncomment this to have appointments with personal presence update last_seen_on
#settings.dvr.appointments_update_last_seen_on = True
# Uncomment this to automatically update the case status when appointments are completed
#settings.dvr.appointments_update_case_status = True
# Uncomment this to automatically close appointments when registering certain case events
#settings.dvr.case_events_close_appointments = True
# Uncomment this to have allowance payments update last_seen_on
#settings.dvr.payments_update_last_seen_on = True
# Uncomment this to use service types for group/case activites
#settings.dvr.activity_use_service_type = True
# Uncomment this to use sectors in group/case activities
#settings.dvr.activity_sectors = True
# Uncomment this to use case activity types
#settings.dvr.activity_types = True
# Uncomment this to use hierarchical case activity types
#settings.dvr.activity_types_hierarchical = True
# Uncomment this to use status field in case activities
#settings.dvr.case_activity_use_status = True
# Uncomment this to disable follow-up fields in case activities
#settings.dvr.case_activity_follow_up = False
# Uncomment this to include case activity docs on beneficiary documents-tab
#settings.dvr.case_include_activity_docs = True
# Uncomment this to include case group docs on beneficiary documents-tab
#settings.dvr.case_include_group_docs = True
# Uncomment this if Case activities use multiple Needs
#settings.dvr.case_activity_needs_multiple = True
# Uncomment this to use service types for needs
#settings.dvr_needs_use_service_type = True
# Uncomment this to use hierarchical need types
#settings.dvr.needs_hierarchical = True
# Uncomment this to use hierarchical vulnerability types
#settings.dvr.vulnerability_types_hierarchical = True
# Uncomment this to manage individual response actions in case activities
#settings.dvr.manage_response_actions = True
# Uncomment this to not use response action types
#settings.dvr.response_types = False
# Uncomment this to use response themes
#settings.dvr.response_themes = True
# Uncomment this to not use org-specific response themes
#settings.dvr.response_themes_org_specific = False
# Uncomment this to link response themes to org sectors
#settings.dvr.response_themes_sectors = True
# Uncomment this to link response themes to needs
#settings.dvr.response_themes_needs = True
# Uncomment this to automatically link responses to case activities
#settings.dvr.response_activity_autolink = True
# Uncomment this to activate features for response planning
#settings.dvr.response_planning = True
# Uncomment this to use a separate due-date for responses
#settings.dvr.response_due_date = True
# Uncomment this to use date+time for responses (instead of just date)
#settings.dvr.response_use_time = True
# Configure a regular expression pattern for ID Codes (QR Codes)
#settings.dvr.id_code_pattern = "(?P<label>[^,]*),(?P<first_name>[^,]*),(?P<last_name>[^,]*),(?P<date_of_birth>[^,]*)"
# Uncomment this to show a warning during event registration if the person is not currently checked-in
#settings.dvr.event_registration_checkin_warning = True
# Uncomment this to show profile pictures in event registration UI only on demand
#settings.dvr.event_registration_show_picture = False
# -------------------------------------------------------------------------
# Events
# Uncomment to use the term Disaster instead of Event
#settings.event.label = "Disaster"
# Uncomment to not use Incidents under Events
#settings.event.incident = False
# Uncomment to preserve linked Incidents when an Event is deleted
# NB Changing this setting requires a DB migration
#settings.event.cascade_delete_incidents = False
# Make Event Types Hierarchical
settings.event.types_hierarchical = True
# Make Incident Types Hierarchical
settings.event.incident_types_hierarchical = True
# Uncomment to allow the use of Exercise Events
settings.event.exercise = True
# Show tab for Event Dispatch
#settings.event.dispatch_tab = False
# Hide tab for Event Impacts
#settings.event.impact_tab = False
# Hide tab for Event Collection Targets
#settings.event.target_tab = False
# Hide tab for Event Collections
#settings.event.collection_tab = False
# Hide tab for Incident Dispatch
#settings.event.incident_dispatch_tab = False
# Show tab for Incident Impacts
settings.event.incident_impact_tab = True
# Show tab for Incident Teams
settings.event.incident_teams_tab = True
# -------------------------------------------------------------------------
# Members
# Hide Membership Types
#settings.member.membership_types = False
# Show a CV tab for Members
settings.member.cv_tab = True
# -------------------------------------------------------------------------
# Persons
# Uncomment to allow person imports to match even without email addresses
settings.pr.import_update_requires_email = False
# Uncomment this to enable support for third gender
#settings.pr.hide_third_gender = False
# Uncomment to a fuzzy search for duplicates in the new AddPersonWidget2
settings.pr.lookup_duplicates = True
# Uncomment to hide fields in S3AddPersonWidget[2]
#settings.pr.request_dob = False
#settings.pr.request_email = False
#settings.pr.request_gender = False
# Uncomment to show field in S3AddPersonWidget
#settings.pr.request_home_phone = True
# Uncomment to modify the order of Names
settings.pr.name_format = "%(first_name)s %(middle_name)s %(last_name)s"
# Uncomment to prevent selecting existing users in the old S3AddPersonWidget
settings.pr.select_existing = False
# Uncomment to prevent showing HR details in S3PersonAutocompleteWidget results
#settings.pr.search_shows_hr_details = False
# Uncomment to hide Emergency Contacts in Person Contacts page
#settings.pr.show_emergency_contacts = False
# Uncomment to hide the Address tab in person details
#settings.pr.use_address = False
# Show separate Public and Private Contacts Tabs
settings.pr.contacts_tabs = ("public", "private")
# Uncomment this to allow persons to belong to multiple case groups ("households")
#settings.pr.multiple_case_groups = True
# -------------------------------------------------------------------------
# Organisations
# Uncomment to use an Autocomplete for Organisation lookup fields
#settings.org.autocomplete = True
# Enable the Organisation Sector field
settings.org.sector = True
# But hide it from the rheader
#settings.org.sector_rheader = False
# Enable the use of Organisation Branches
settings.org.branches = True
# Show branches as tree rather than as table
#settings.org.branches_tree_view = True
# Make Facility Types Hierarchical
settings.org.facility_types_hierarchical = True
# Enable the use of Organisation Groups & what their name is
#settings.org.groups = "Coalition"
#settings.org.groups = "Network"
# Organisation Location context
settings.org.organisation_location_context = "organisation_location.location_id"
# Make Organisation Types Hierarchical
settings.org.organisation_types_hierarchical = True
# Make Organisation Types Multiple
settings.org.organisation_types_multiple = True
# Show Organisation Types in the rheader
settings.org.organisation_type_rheader = True
# Enable the use of Organisation Regions
settings.org.regions = True
# Make Organisation Regions Hierarchical
settings.org.regions_hierarchical = True
# Enable the use of Organisation Region Countries
settings.org.region_countries = True
# Uncomment to show a Tab for Organisation Resources
settings.org.resources_tab = True
# Make Services Hierarchical
settings.org.services_hierarchical = True
# Set the length of the auto-generated org/site code the default is 10
#settings.org.site_code_len = 10
# Set the label for Sites
settings.org.site_label = "Facility"
# Uncomment to show the date when a Site (Facilities-only for now) was last contacted
settings.org.site_last_contacted = True
# Uncomment to use an Autocomplete for Site lookup fields
#settings.org.site_autocomplete = True
# Extra fields to search in Autocompletes & display in Representations
#settings.org.site_autocomplete_fields = ("instance_type", "location_id$L1", "location_id$addr_street", "organisation_id$name")
# Uncomment to hide inv & req tabs from Sites
#settings.org.site_inv_req_tabs = False
# Uncomment to allow Sites to be staffed by Volunteers
settings.org.site_volunteers = True
# Enable certain fields just for specific Organisations
# Requires a call to settings.set_org_dependent_field(field)
# empty list => disabled for all (including Admin)
#settings.org.dependent_fields = \
# {#"<table name>.<field name>" : ["<Organisation Name>"],
# "pr_person_details.mother_name" : [],
# "pr_person_details.father_name" : [],
# "pr_person_details.company" : [],
# "pr_person_details.affiliations" : [],
# "vol_volunteer.active" : [],
# "vol_volunteer_cluster.vol_cluster_type_id" : [],
# "vol_volunteer_cluster.vol_cluster_id" : [],
# "vol_volunteer_cluster.vol_cluster_position_id" : [],
# }
# Uncomment to make Office codes unique
#settings.org.office_code_unique = True
# Uncomment to make Facility codes unique
#settings.org.facility_code_unique = True
# Uncomment to use Tags for Organisations, Offices & Facilities
settings.org.tags = True
# -------------------------------------------------------------------------
# Human Resource Management
# Uncomment to change the label for 'Staff'
#settings.hrm.staff_label = "Contacts"
# Uncomment to allow Staff & Volunteers to be registered without an email address
#settings.hrm.email_required = False
# Uncomment to allow Staff & Volunteers to be registered without an Organisation
settings.hrm.org_required = False
# Uncomment if their are only Staff & Volunteers from a single Organisation with no Branches
#settings.hrm.multiple_orgs = False
# Uncomment to disable the 'Send Message' action button
#settings.hrm.compose_button = False
# Uncomment to allow HR records to be deletable rather than just marking them as obsolete
settings.hrm.deletable = True
# Uncomment to hide Job Titles
#settings.hrm.use_job_titles = False
# Uncomment to allow HRs to have multiple Job Titles
settings.hrm.multiple_job_titles = True
# Uncomment to have each root Org use a different Job Title Catalog
settings.hrm.org_dependent_job_titles = True
# Uncomment to display & search by National ID
#settings.hrm.use_national_id = True
# Uncomment to hide the Staff resource
#settings.hrm.show_staff = False
# Uncomment to have Staff use their Home Address as fallback if they have no Site defined
settings.hrm.location_staff = ("site_id", "person_id")
# Uncomment to have Volunteers use their Site Address as fallback if they have no Home Address defined
settings.hrm.location_vol = ("person_id", "site_id")
# Uncomment this to allow multiple site contacts per site (e.g. if needing a separate contact per sector)
settings.hrm.site_contact_unique = False
# Uncomment to allow hierarchical categories of Skills, which each need their own set of competency levels.
settings.hrm.skill_types = True
# Uncomment to disable Staff experience
#settings.hrm.staff_experience = False
# Uncomment to enable Volunteer 'active' field
# - can also be made a function which is called to calculate the status based on recorded hours
# Custom label for Organisations in HR module
settings.hrm.organisation_label = "Organization / Branch"
# Custom label for Top-level Organisations in HR module
settings.hrm.root_organisation_label = "Organization"
settings.hrm.vol_active = True
# Uncomment to define a Tooltip to show when viewing the Volunteer 'active' field
settings.hrm.vol_active_tooltip = "A volunteer is defined as active if they've participated in an average of 8 or more hours of Program work or Trainings per month in the last year"
# Uncomment to disable Volunteer experience
#settings.hrm.vol_experience = False
# Uncomment to show the Organisation name in HR represents
settings.hrm.show_organisation = True
# Uncomment to consolidate tabs into a single CV
#settings.hrm.cv_tab = True
# Uncomment to consolidate tabs into Staff Record (set to False to hide the tab)
#settings.hrm.record_tab = "record"
# Uncomment to disable the use of Volunteer Awards
#settings.hrm.use_awards = False
# Uncomment to disable the use of HR Certificates
#settings.hrm.use_certificates = False
# Uncomment to filter certificates by (root) Organisation & hence not allow Certificates from other orgs to be added to a profile (except by Admin)
#settings.hrm.filter_certificates = True
# Uncomment to auto-create certificates for courses
#settings.hrm.create_certificates_from_courses = True
# Uncomment to enable the use of Staff/Volunteer IDs
settings.hrm.use_code = True
# Uncomment to disable the use of HR Credentials
#settings.hrm.use_credentials = False
# Uncomment to disable the use of HR Description
#settings.hrm.use_description = None
# Uncomment to enable the use of HR Education
#settings.hrm.use_education = True
# Uncomment to disable the use of HR ID Tab
#settings.hrm.use_id = False
# Uncomment to disable the use of HR Address Tab
#settings.hrm.use_address = False
# Uncomment to disable the use of HR Skills
#settings.hrm.use_skills = False
# Uncomment to enable tracking of staff salaries
#settings.hrm.salary = True
# Uncomment to disable the use of HR Teams
#settings.hrm.teams = False
# Uncomment to disable the use of HR Trainings
#settings.hrm.use_trainings = False
# Uncomment this to configure tracking of internal/external training instructors
#settings.hrm.training_instructors = "external"
# Uncomment this to modify the training filter to be AND not OR
#settings.hrm.training_filter_and = True
# Uncomment this to have Pass marks defined by Course
settings.hrm.course_pass_marks = True
# Uncomment to use activity types in experience record, specify as {"code":"label", ...}
#settings.hrm.activity_types = {"rdrt": "RDRT Mission"}
# -------------------------------------------------------------------------
# Inventory Management
#settings.inv.collapse_tabs = False
# Uncomment to customise the label for Facilities in Inventory Management
#settings.inv.facility_label = "Facility"
# Uncomment if you need a simpler (but less accountable) process for managing stock levels
#settings.inv.direct_stock_edits = True
# Uncomment to have Warehouse Types be Organisation-dependent
settings.inv.org_dependent_warehouse_types = True
# Uncomment to call Stock Adjustments, 'Stock Counts'
settings.inv.stock_count = True
# Use the term 'Order' instead of 'Shipment'
settings.inv.shipment_name = "order"
# Uncomment to validate for Unique Warehouse Codes
#settings.inv.warehouse_code_unique = True
# Uncomment to not track pack values
#settings.inv.track_pack_values = False
settings.inv.show_mode_of_transport = True
settings.inv.send_show_org = False
settings.inv.send_show_time_in = True
settings.inv.send_form_name = "Tally Out Sheet"
settings.inv.send_short_name = "TO"
settings.inv.send_ref_field_name = "Tally Out Number"
settings.inv.recv_form_name = "Acknowledgement Receipt for Donations Received Form"
settings.inv.recv_shortname = "ARDR"
# Types common to both Send and Receive
settings.inv.shipment_types = {
0: T(""),
1: T("Other Warehouse"),
2: T("Donation"),
3: T("Foreign Donation"),
4: T("Local Purchases"),
5: T("Confiscated Goods from Bureau Of Customs")
}
#settings.inv.send_types = {
# 21: T("Distribution")
# }
#settings.inv.send_type_default = 1
#settings.inv.recv_types = {
# 32: T("Donation"),
# 34: T("Purchase"),
# }
#settings.inv.item_status = {
# 0: current.messages["NONE"],
# 1: T("Dump"),
# 2: T("Sale"),
# 3: T("Reject"),
# 4: T("Surplus")
# }
# -------------------------------------------------------------------------
# Requests Management
# Uncomment to disable Inline Forms in Requests module
#settings.req.inline_forms = False
# Label for Inventory Requests
#settings.req.type_inv_label = "Donations"
# Label for People Requests
#settings.req.type_hrm_label = "Volunteers"
# Label for Requester
#settings.req.requester_label = "Site Contact"
# Uncomment to disable Recurring Request
#settings.req.recurring = False
#settings.req.requester_optional = True
# Uncomment if the User Account logging the Request is NOT normally the Requester
#settings.req.requester_is_author = False
# Filter Requester as being from the Site
#settings.req.requester_from_site = True
# Set the Requester as being an HR for the Site if no HR record yet & as Site contact if none yet exists
#settings.req.requester_to_site = True
#settings.req.date_writable = False
# Allow the status for requests to be set manually,
# rather than just automatically from commitments and shipments
#settings.req.status_writable = False
#settings.req.item_quantities_writable = True
#settings.req.skill_quantities_writable = True
#settings.req.show_quantity_transit = False
#settings.req.multiple_req_items = False
#settings.req.prompt_match = False
#settings.req.items_ask_purpose = False
# Uncomment to disable the Commit step in the workflow & simply move direct to Ship
#settings.req.use_commit = False
# Uncomment to have Donations include a 'Value' field
settings.req.commit_value = True
# Uncomment to allow Donations to be made without a matching Request
#settings.req.commit_without_request = True
# Uncomment to Commit Named People rather than simply Anonymous Skills
#settings.req.commit_people = True
# Uncomment if the User Account logging the Commitment is NOT normally the Committer
#settings.req.comittter_is_author = False
# Should Requests ask whether Security is required?
#settings.req.ask_security = True
# Should Requests ask whether Transportation is required?
settings.req.ask_transport = True
#settings.req.use_req_number = False
#settings.req.generate_req_number = False
#settings.req.req_form_name = "Request Issue Form"
#settings.req.req_shortname = "RIS"
# Restrict the type of requests that can be made, valid values in the
# list are ("Stock", "People", "Other"). If this is commented out then
# all types will be valid.
#settings.req.req_type = ("Stock",)
# Uncomment to enable Summary 'Site Needs' tab for Offices/Facilities
settings.req.summary = True
# Uncomment to restrict adding new commits to Completed commits
#settings.req.req_restrict_on_complete = True
# Custom Crud Strings for specific req_req types
#settings.req.req_crud_strings = dict()
#ADD_ITEM_REQUEST = T("Make a Request for Donations")
# req_req Crud Strings for Item Request (type=1)
#settings.req.req_crud_strings[1] = Storage(
# label_create = ADD_ITEM_REQUEST,
# title_display = T("Request for Donations Details"),
# title_list = T("Requests for Donations"),
# title_update = T("Edit Request for Donations"),
# label_list_button = T("List Requests for Donations"),
# label_delete_button = T("Delete Request for Donations"),
# msg_record_created = T("Request for Donations Added"),
# msg_record_modified = T("Request for Donations Updated"),
# msg_record_deleted = T("Request for Donations Canceled"),
# msg_list_empty = T("No Requests for Donations"))
#ADD_PEOPLE_REQUEST = T("Make a Request for Volunteers")
# req_req Crud Strings for People Request (type=3)
#settings.req.req_crud_strings[3] = Storage(
# label_create = ADD_PEOPLE_REQUEST,
# title_display = T("Request for Volunteers Details"),
# title_list = T("Requests for Volunteers"),
# title_update = T("Edit Request for Volunteers"),
# label_list_button = T("List Requests for Volunteers"),
# label_delete_button = T("Delete Request for Volunteers"),
# msg_record_created = T("Request for Volunteers Added"),
# msg_record_modified = T("Request for Volunteers Updated"),
# msg_record_deleted = T("Request for Volunteers Canceled"),
# msg_list_empty = T("No Requests for Volunteers"))
# -------------------------------------------------------------------------
# Supply
# Name of the Default Item Catalog. Do not edit after deployment
#settings.supply.catalog_default = "Default"
# Disable the use of Multiple Item Catalogs
#settings.supply.catalog_multi = False
# Disable the use of Alternative Items
#settings.supply.use_alt_name = False
# -------------------------------------------------------------------------
# Projects
# Uncomment this to use settings suitable for a global/regional organisation (e.g. DRR)
settings.project.mode_3w = True
# Uncomment this to use DRR (Disaster Risk Reduction) extensions
settings.project.mode_drr = True
# Uncomment this to use settings suitable for detailed Task management
settings.project.mode_task = True
# Uncomment this to use link Projects to Events
settings.project.event_projects = True
# Uncomment this to use Activities for Projects & Tasks
settings.project.activities = True
# Uncomment this to use link Activities to Events
settings.project.event_activities = True
# Uncomment this to use Activity Types for Activities & Projects
settings.project.activity_types = True
# Uncomment this to filter dates in Activities
#settings.project.activity_filter_year = True
# Uncomment this to not use Beneficiaries for Activities
#settings.project.get_project_activity_beneficiaries = False
# Uncomment this to not use Item Catalog for Distributions
#settings.project.activity_items = False
# Uncomment this to use Codes for projects
#settings.project.codes = True
# Uncomment this to call project locations 'Communities'
#settings.project.community = True
# Uncomment this to enable Demographics in 3W projects
settings.project.demographics = True
# Uncomment this to enable Hazards in 3W projects
settings.project.hazards = True
# Uncomment this to enable Indicators in projects
settings.project.indicators = True
# Uncomment this to enable Goals in projects
settings.project.goals = True
settings.project.outcomes = True
settings.project.outputs = True
# Uncomment this to enable Milestones in projects
settings.project.milestones = True
# Uncomment this to use Projects for Activities & Tasks
settings.project.projects = True
# Uncomment this to disable Sectors in projects
#settings.project.sectors = False
# Uncomment this to enable Programmes in projects
settings.project.programmes = True
# Uncomment this to enable Budgets in Programmes
settings.project.programme_budget = True
# Uncomment this to enable Themes in 3W projects
settings.project.themes = True
# Uncomment this to use Theme Percentages for projects
settings.project.theme_percentages = True
# Uncomment this to use multiple Budgets per project
settings.project.multiple_budgets = True
# Uncomment this to use multiple Organisations per project
settings.project.multiple_organisations = True
# Uncomment this to customise
# Links to Filtered Components for Donors & Partners
#settings.project.organisation_roles = {
# 1: T("Lead Implementer"), # T("Host National Society")
# 2: T("Partner"), # T("Partner National Society")
# 3: T("Donor"),
# 4: T("Customer"), # T("Beneficiary")?
# 5: T("Super"), # T("Beneficiary")?
#}
#settings.project.organisation_lead_role = 1
# Uncomment to customise the list of options for the Priority of a Task.
# NB Be very cautious about doing this (see docstring in modules/s3cfg.py)
#settings.project.task_priority_opts =
# Uncomment to customise the list of options for the Status of a Task.
# NB Be very cautious about doing this (see docstring in modules/s3cfg.py)
#settings.project.task_status_opts =
# -------------------------------------------------------------------------
# Incidents
# Uncomment this to use vehicles when responding to Incident Reports
#settings.irs.vehicle = True
# -------------------------------------------------------------------------
# Transport
# Uncomment to make Airport codes unique
#settings.transport.airport_code_unique = True
# Uncomment to make Seaport codes unique
#settings.transport.seaport_code_unique = True
# Uncomment to make Heliport codes unique
#settings.transport.heliport_code_unique = True
# -------------------------------------------------------------------------
# Filter Manager
#settings.search.filter_manager = False
# if you want to have videos appearing in /default/video
#settings.base.youtube_id = [dict(id = "introduction",
# title = T("Introduction"),
# video_id = "HR-FtR2XkBU"),]
# -----------------------------------------------------------------------------
# Mobile Forms
# Configure mobile forms (example), see modules/s3cfg.py for details
#settings.mobile.forms = [
# ("Beneficiaries", "pr_person", {"c": "dvr", "f": "person"}),
#]
# Disable mobile forms for dynamic tables:
#settings.mobile.dynamic_tables = False
# -----------------------------------------------------------------------------
# XForms
# Configure xform resources (example)
#settings.xforms.resources = [("Request", "req_req")]
# -------------------------------------------------------------------------
# Comment/uncomment modules here to disable/enable them
# @ToDo: Have the system automatically enable migrate if a module is enabled
# Modules menu is defined in modules/eden/menu.py
settings.modules = OrderedDict([
# Core modules which shouldn't be disabled
("default", Storage(
name_nice = T("Home"),
restricted = False, # Use ACLs to control access to this module
access = None, # All Users (inc Anonymous) can see this module in the default menu & access the controller
module_type = None # This item is not shown in the menu
)),
("admin", Storage(
name_nice = T("Administration"),
#description = "Site Administration",
restricted = True,
access = "|1|", # Only Administrators can see this module in the default menu & access the controller
module_type = None # This item is handled separately for the menu
)),
("appadmin", Storage(
name_nice = T("Administration"),
#description = "Site Administration",
restricted = True,
module_type = None # No Menu
)),
("errors", Storage(
name_nice = T("Ticket Viewer"),
#description = "Needed for Breadcrumbs",
restricted = False,
module_type = None # No Menu
)),
("setup", Storage(
name_nice = T("Setup"),
#description = "WebSetup",
restricted = True,
access = "|1|", # Only Administrators can see this module in the default menu & access the controller
module_type = None # No Menu
)),
("sync", Storage(
name_nice = T("Synchronization"),
#description = "Synchronization",
restricted = True,
access = "|1|", # Only Administrators can see this module in the default menu & access the controller
module_type = None # This item is handled separately for the menu
)),
("tour", Storage(
name_nice = T("Guided Tour Functionality"),
module_type = None,
)),
("translate", Storage(
name_nice = T("Translation Functionality"),
#description = "Selective translation of strings based on module.",
module_type = None,
)),
("gis", Storage(
name_nice = T("Map"),
#description = "Situation Awareness & Geospatial Analysis",
restricted = True,
module_type = 6, # 6th item in the menu
)),
("pr", Storage(
name_nice = T("Person Registry"),
#description = "Central point to record details on People",
restricted = True,
access = "|1|", # Only Administrators can see this module in the default menu (access to controller is possible to all still)
module_type = 9
)),
("org", Storage(
name_nice = T("Organizations"),
#description = 'Lists "who is doing what & where". Allows relief agencies to coordinate their activities',
restricted = True,
module_type = 1
)),
# All modules below here should be possible to disable safely
("hrm", Storage(
name_nice = T("Staff"),
#description = "Human Resources Management",
restricted = True,
module_type = 2,
)),
("vol", Storage(
name_nice = T("Volunteers"),
#description = "Human Resources Management",
restricted = True,
module_type = 2,
)),
("cms", Storage(
name_nice = T("Content Management"),
#description = "Content Management System",
restricted = True,
module_type = 9,
)),
("doc", Storage(
name_nice = T("Documents"),
#description = "A library of digital resources, such as photos, documents and reports",
restricted = True,
module_type = 9,
)),
("msg", Storage(
name_nice = T("Messaging"),
#description = "Sends & Receives Alerts via Email & SMS",
restricted = True,
# The user-visible functionality of this module isn't normally required. Rather it's main purpose is to be accessed from other modules.
module_type = None,
)),
("supply", Storage(
name_nice = T("Supply Chain Management"),
#description = "Used within Inventory Management, Request Management and Asset Management",
restricted = True,
module_type = None, # Not displayed
)),
("inv", Storage(
name_nice = T("Warehouses"),
#description = "Receiving and Sending Items",
restricted = True,
module_type = 4
)),
#("proc", Storage(
# name_nice = T("Procurement"),
# #description = "Ordering & Purchasing of Goods & Services",
# restricted = True,
# module_type = 10
# )),
("asset", Storage(
name_nice = T("Assets"),
#description = "Recording and Assigning Assets",
restricted = True,
module_type = 5,
)),
# Vehicle depends on Assets
("vehicle", Storage(
name_nice = T("Vehicles"),
#description = "Manage Vehicles",
restricted = True,
module_type = 9,
)),
("req", Storage(
name_nice = T("Requests"),
#description = "Manage requests for supplies, assets, staff or other resources. Matches against Inventories where supplies are requested.",
restricted = True,
module_type = 9,
)),
("project", Storage(
name_nice = T("Projects"),
#description = "Tracking of Projects, Activities and Tasks",
restricted = True,
module_type = 2
)),
#("survey", Storage(
# name_nice = T("Surveys"),
# #description = "Create, enter, and manage surveys.",
# restricted = True,
# module_type = 5,
#)),
("dc", Storage(
name_nice = T("Assessments"),
#description = "Data collection tool",
restricted = True,
module_type = 5
)),
("cr", Storage(
name_nice = T("Shelters"),
#description = "Tracks the location, capacity and breakdown of victims in Shelters",
restricted = True,
module_type = 9
)),
("hms", Storage(
name_nice = T("Hospitals"),
#description = "Helps to monitor status of hospitals",
restricted = True,
module_type = 9
)),
#("disease", Storage(
# name_nice = T("Disease Tracking"),
# #description = "Helps to track cases and trace contacts in disease outbreaks",
# restricted = True,
# module_type = 10
#)),
#("br", Storage(
# name_nice = T("Beneficiary Registry"),
# #description = "Beneficiary Registry and Case Management",
# restricted = True,
# module_type = 10,
#)),
("dvr", Storage(
name_nice = T("Disaster Victim Registry"),
#description = "Allow affected individuals & households to register to receive compensation and distributions",
restricted = True,
module_type = 10,
)),
("event", Storage(
name_nice = T("Events"),
#description = "Activate Events (e.g. from Scenario templates) for allocation of appropriate Resources (Human, Assets & Facilities).",
restricted = True,
module_type = 10,
)),
("transport", Storage(
name_nice = T("Transport"),
restricted = True,
module_type = 10,
)),
("stats", Storage(
name_nice = T("Statistics"),
#description = "Manages statistics",
restricted = True,
module_type = None,
)),
("member", Storage(
name_nice = T("Members"),
#description = "Membership Management System",
restricted = True,
module_type = 10,
)),
("budget", Storage(
name_nice = T("Budgeting Module"),
#description = "Allows a Budget to be drawn up",
restricted = True,
module_type = 10
)),
("deploy", Storage(
name_nice = T("Deployments"),
#description = "Manage Deployments",
restricted = True,
module_type = 10,
)),
# Deprecated: Replaced by event
#("irs", Storage(
# name_nice = T("Incidents"),
# #description = "Incident Reporting System",
# restricted = True,
# module_type = 10
#)),
("dvi", Storage(
name_nice = T("Disaster Victim Identification"),
#description = "Disaster Victim Identification",
restricted = True,
module_type = 10,
#access = "|DVI|", # Only users with the DVI role can see this module in the default menu & access the controller
)),
("edu", Storage(
name_nice = T("Schools"),
#description = "Helps to monitor status of schools",
restricted = True,
module_type = 10
)),
("mpr", Storage(
name_nice = T("Missing Person Registry"),
#description = "Helps to report and search for missing persons",
restricted = True,
module_type = 10,
)),
# https://github.com/sahana/eden/issues/1562
#("vulnerability", Storage(
# name_nice = T("Vulnerability"),
# #description = "Manages vulnerability indicators",
# restricted = True,
# module_type = 10,
#)),
("fire", Storage(
name_nice = T("Fire Stations"),
#description = "Fire Station Management",
restricted = True,
module_type = 1,
)),
("water", Storage(
name_nice = T("Water"),
#description = "Flood Gauges show water levels in various parts of the country",
restricted = True,
module_type = 10
)),
("patient", Storage(
name_nice = T("Patient Tracking"),
#description = "Tracking of Patients",
restricted = True,
module_type = 10
)),
("po", Storage(
name_nice = T("Population Outreach"),
#description = "Population Outreach",
restricted = True,
module_type = 10
)),
("security", Storage(
name_nice = T("Security"),
#description = "Security Management System",
restricted = True,
module_type = 10,
)),
# These are specialist modules
("cap", Storage(
name_nice = T("CAP"),
#description = "Create & broadcast CAP alerts",
restricted = True,
module_type = 10,
)),
# Requires RPy2 & PostgreSQL
#("climate", Storage(
# name_nice = T("Climate"),
# #description = "Climate data portal",
# restricted = True,
# module_type = 10,
#)),
("delphi", Storage(
name_nice = T("Delphi Decision Maker"),
#description = "Supports the decision making of large groups of Crisis Management Experts by helping the groups create ranked list.",
restricted = True,
module_type = 10,
)),
# @ToDo: Port these Assessments to the Survey module
#("building", Storage(
# name_nice = T("Building Assessments"),
# #description = "Building Safety Assessments",
# restricted = True,
# module_type = 10,
#)),
# Deprecated by Surveys module
# - depends on CR, IRS & Impact
#("assess", Storage(
# name_nice = T("Assessments"),
# #description = "Rapid Assessments & Flexible Impact Assessments",
# restricted = True,
# module_type = 10,
#)),
#("impact", Storage(
# name_nice = T("Impacts"),
# #description = "Used by Assess",
# restricted = True,
# module_type = None,
#)),
#("ocr", Storage(
# name_nice = T("Optical Character Recognition"),
# #description = "Optical Character Recognition for reading the scanned handwritten paper forms.",
# restricted = False,
# module_type = None,
#)),
("work", Storage(
name_nice = T("Jobs"),
#description = "Simple Volunteer Jobs Management",
restricted = False,
module_type = None,
)),
])
# END =========================================================================