summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@proxience.com>2015-02-20 21:13:28 +0100
committerÉtienne Loks <etienne.loks@proxience.com>2015-02-20 21:13:28 +0100
commit23426554f9106ea95f63095f6ca09441011e9d24 (patch)
treecbbe909b9fa83d4780ab8d63384a4ffc72552158
parentab63e22a65519a7d7fbdb074d4db10e21d889dc1 (diff)
parenta47acfb77d874e62e2d699ae792fbb77c5f8f61a (diff)
downloadChimère-23426554f9106ea95f63095f6ca09441011e9d24.tar.bz2
Chimère-23426554f9106ea95f63095f6ca09441011e9d24.zip
Merge branch 'v2.1'
Conflicts: chimere/templates/chimere/blocks/map.html chimere/templatetags/chimere_tags.py
-rw-r--r--chimere/static/chimere/js/jquery.chimere-ol.js31
-rw-r--r--chimere/templates/chimere/blocks/map.html2
-rw-r--r--chimere/templatetags/chimere_tags.py15
3 files changed, 34 insertions, 14 deletions
diff --git a/chimere/static/chimere/js/jquery.chimere-ol.js b/chimere/static/chimere/js/jquery.chimere-ol.js
index 78b28ad..a04e0b3 100644
--- a/chimere/static/chimere/js/jquery.chimere-ol.js
+++ b/chimere/static/chimere/js/jquery.chimere-ol.js
@@ -75,6 +75,8 @@ if (typeof(OpenLayers) != 'undefined'){
routing_end_lat: null,
routing_end_lon: null,
routing_steps_lonlat: null,
+ routing_transport: null,
+ routing_speed: null,
// Provide this function to make a custom click event on the marker
on_marker_click: null,
// Provide this function to override the feature detail display
@@ -231,8 +233,12 @@ if (typeof(OpenLayers) != 'undefined'){
// Make specific params
params.checked_categories = settings.checked_categories;
params.display_submited = settings.display_submited;
- if(settings.current_feature)
+ if (settings.current_feature)
params.current_feature = settings.current_feature.pk;
+ if (settings.routing_speed)
+ params.routing_speed = settings.routing_speed;
+ if (settings.routing_transport)
+ params.routing_transport = settings.routing_transport;
if (settings.routing_start){
lonlat = settings.routing_start.lonlat.clone().transform(
EPSG_PROJECTION, EPSG_DISPLAY_PROJECTION);
@@ -1142,7 +1148,14 @@ if (typeof(OpenLayers) != 'undefined'){
}
if (settings.routing_end && settings.routing_start) methods.route();
},
-
+ // change routing speed
+ routingChangeSpeed: function(speed){
+ settings.routing_speed = speed;
+ },
+ // change routing transport
+ routingChangeTransport: function(transport){
+ settings.routing_transport = transport;
+ },
// add a step on the interface
add_step_fx: function (){
settings.itinerary_step_number += 1;
@@ -1232,16 +1245,12 @@ if (typeof(OpenLayers) != 'undefined'){
steps.push(settings.routing_end.lonlat.clone());
// create the appropriate URL
var uri = extra_url + "route/"
- var transport = $('input[name=transport]:checked').val();
- if(transport){
- uri += transport + "/"
- }
- var speed = $('#id_speed option:selected').val();
- if(!speed){
- var speed = $('input[name=speed]:checked').val();
+ if(settings.routing_transport){
+ uri += settings.routing_transport + "/"
}
- if(speed){
- uri += speed.split('_')[1] + "/"
+ if(settings.routing_speed){
+ //uri += speed.split('_')[1] + "/"
+ uri += routing_settings.speed + "/"
}
for (var i = 0; i < steps.length; i++) {
var step = steps[i].transform(
diff --git a/chimere/templates/chimere/blocks/map.html b/chimere/templates/chimere/blocks/map.html
index 0c99b64..a1faebf 100644
--- a/chimere/templates/chimere/blocks/map.html
+++ b/chimere/templates/chimere/blocks/map.html
@@ -49,6 +49,8 @@ $(function(){
{% if p_routing_end_lon %}chimere_init_options["routing_end_lon"] = {{ p_routing_end_lon }};{% endif %}
{% if p_routing_end_lat %}chimere_init_options["routing_end_lat"] = {{ p_routing_end_lat }};{% endif %}
{% if p_routing_steps %}chimere_init_options["routing_steps_lonlat"] = [{{ p_routing_steps }}];{% endif %}
+ {% if p_routing_transport %}chimere_init_options["routing_transport"] = "{{ p_routing_transport }}";{% endif %}
+ {% if p_routing_speed %}chimere_init_options["routing_speed"] = "{{ p_routing_speed }}";{% endif %}
{% ifequal map_renderer 'openlayers' %}
chimere_init_options["icon_offset"] = new OpenLayers.Pixel({{icon_offset_x}},
{{icon_offset_y}});{% endifequal %}
diff --git a/chimere/templatetags/chimere_tags.py b/chimere/templatetags/chimere_tags.py
index efedd74..3c48d95 100644
--- a/chimere/templatetags/chimere_tags.py
+++ b/chimere/templatetags/chimere_tags.py
@@ -274,6 +274,13 @@ bounds.extend(new OpenLayers.LonLat(%f, %f));
context_data['checked_categories'] = [cat]
context_data['dynamic_categories'] = 'true' \
if map and map.dynamic_categories else 'false'
+ if settings.CHIMERE_ROUTING_TRANSPORT:
+ context_data['p_routing_transport'] = settings.CHIMERE_ROUTING_TRANSPORT[0][0]
+ if settings.CHIMERE_ROUTING_SPEEDS and \
+ context_data['p_routing_transport'] in settings.CHIMERE_ROUTING_SPEEDS:
+ context_data['p_routing_speed'] = \
+ settings.CHIMERE_ROUTING_SPEEDS[
+ context_data['p_routing_transport']][0][0]
if 'request' not in context:
return context_data
request = context['request']
@@ -282,10 +289,12 @@ bounds.extend(new OpenLayers.LonLat(%f, %f));
if request.GET:
for key in ('zoom', 'lon', 'lat', 'display_submited',
'current_feature', 'routing_start_lon', 'routing_start_lat',
- 'routing_end_lon', 'routing_end_lat', 'routing_steps'):
+ 'routing_end_lon', 'routing_end_lat', 'routing_steps',
+ 'routing_transport', 'routing_speed'):
+ p_key = 'p_' + key
if key in request.GET and request.GET[key]:
- context_data['p_'+key] = request.GET[key]
- else:
+ context_data[p_key] = request.GET[key]
+ elif p_key not in context_data:
context_data['p_'+key] = None
if 'checked_categories' in request.GET \
and request.GET['checked_categories']: