summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2013-03-28 18:29:44 +0100
committerÉtienne Loks <etienne.loks@peacefrogs.net>2013-03-28 18:29:44 +0100
commit6cb0937a6f57cd3644669c366dece6a50950d766 (patch)
treebfee312c4dc8094e8203e368e11cd0d60f32a9ec
parent669f2df353a7be1ad454a237f6be0d1cdc9a4029 (diff)
downloadChimère-6cb0937a6f57cd3644669c366dece6a50950d766.tar.bz2
Chimère-6cb0937a6f57cd3644669c366dece6a50950d766.zip
Fix conditionnal parameters for routing
-rw-r--r--chimere/forms.py10
-rw-r--r--chimere/templatetags/chimere_tags.py2
-rw-r--r--chimere/urls.py8
-rw-r--r--chimere/views.py3
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'