diff options
-rw-r--r-- | chimere/forms.py | 10 | ||||
-rw-r--r-- | chimere/templatetags/chimere_tags.py | 2 | ||||
-rw-r--r-- | chimere/urls.py | 8 | ||||
-rw-r--r-- | chimere/views.py | 3 |
4 files changed, 19 insertions, 4 deletions
diff --git a/chimere/forms.py b/chimere/forms.py index 22cdc8f..655bbd3 100644 --- a/chimere/forms.py +++ b/chimere/forms.py @@ -603,13 +603,19 @@ class AreaForm(AreaAdminForm): class Meta: model = Area -CHIMERE_ROUTING_TRANSPORT = [(idx, _(lbl)) +CHIMERE_ROUTING_TRANSPORT = [] +ROUTING_INIT = None +if hasattr(settings, 'CHIMERE_ROUTING_TRANSPORT'): + CHIMERE_ROUTING_TRANSPORT = [(idx, _(lbl)) for idx, lbl in settings.CHIMERE_ROUTING_TRANSPORT] + if CHIMERE_ROUTING_TRANSPORT: + ROUTING_INIT = CHIMERE_ROUTING_TRANSPORT[0][0] + class RoutingForm(forms.Form): transport = forms.ChoiceField(label='', widget=ButtonSelectWidget, choices=CHIMERE_ROUTING_TRANSPORT, - initial=CHIMERE_ROUTING_TRANSPORT[0][0]) + initial=ROUTING_INIT) start = forms.CharField(label=_(u"Start"), widget=NominatimWidget) end = forms.CharField(label=_(u"Finish"), widget=NominatimWidget) speed = forms.ChoiceField(label=_(u"Speed"), choices=[], diff --git a/chimere/templatetags/chimere_tags.py b/chimere/templatetags/chimere_tags.py index 14860b8..ed835a8 100644 --- a/chimere/templatetags/chimere_tags.py +++ b/chimere/templatetags/chimere_tags.py @@ -164,6 +164,8 @@ def map_menu(context): @register.inclusion_tag('chimere/blocks/routing.html', takes_context=True) def routing(context): + if not settings.CHIMERE_ENABLE_ROUTING: + return {'routing':False} context_data = { 'routing':settings.CHIMERE_ENABLE_ROUTING, 'itinerary_form':context['itinerary_form'], diff --git a/chimere/urls.py b/chimere/urls.py index aa95921..164ef68 100644 --- a/chimere/urls.py +++ b/chimere/urls.py @@ -20,6 +20,7 @@ from django.conf import settings from django.conf.urls.defaults import * from django.contrib import admin +from django.core.exceptions import ImproperlyConfigured admin.autodiscover() from chimere.models import Area @@ -51,7 +52,12 @@ if settings.CHIMERE_FEEDS: LatestPOIsByZoneID(), name='feeds-areaid'), ) -if settings.CHIMERE_ENABLE_ROUTING: +if hasattr(settings, 'CHIMERE_ENABLE_ROUTING') \ + and settings.CHIMERE_ENABLE_ROUTING: + if not hasattr(settings, 'CHIMERE_ROUTING_TRANSPORT') \ + or not settings.CHIMERE_ROUTING_TRANSPORT: + raise ImproperlyConfigured(u"CHIMERE_ROUTING_TRANSPORT must be set in"\ + u" settings if you enable routing") urlpatterns += patterns('chimere.views', url(r'^(?P<area_name>[a-zA-Z0-9_-]*/)?route/'\ r'(?P<transport>(%s))/((?P<speed>[0-9][0-9]*)/)?' diff --git a/chimere/views.py b/chimere/views.py index a8c3f19..f6e3f84 100644 --- a/chimere/views.py +++ b/chimere/views.py @@ -174,10 +174,11 @@ def index(request, area_name=None, default_area=None, simple=False, 'map_layer':settings.CHIMERE_DEFAULT_MAP_LAYER, 'dynamic_categories':response_dct['dynamic_categories'], 'zoomout':zoomout, - 'contact_email':settings.CONTACT_EMAIL, 'has_default_area':Area.objects.filter(default=True).count(), 'zoomout':zoomout }) + if settings.CONTACT_EMAIL: + response_dct['contact_email'] = settings.CONTACT_EMAIL response_dct['share_networks'], net_dct = \ getShareNetwork(request, response_dct['area_name']) tpl = 'chimere/main_map.html' |