summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chimere/models.py3
-rw-r--r--chimere/static/chimere/css/forms.css96
-rw-r--r--chimere/static/chimere/css/styles.css12
-rw-r--r--chimere/static/chimere/js/edit_route_map.js2
-rw-r--r--chimere/static/chimere/js/jquery.chimere.js10
-rw-r--r--chimere/templates/chimere/base.html13
-rw-r--r--chimere/templates/chimere/blocks/head_chimere.html (renamed from chimere/templates/chimere/blocks/head.html)16
-rw-r--r--chimere/templates/chimere/blocks/head_jquery.html5
-rw-r--r--chimere/templates/chimere/blocks/map_params.html5
-rw-r--r--chimere/templates/chimere/contactus.html6
-rw-r--r--chimere/templates/chimere/edit.html8
-rw-r--r--chimere/templates/chimere/edit_route.html17
-rw-r--r--chimere/templates/chimere/main_map.html5
-rw-r--r--chimere/templatetags/chimere_tags.py19
-rw-r--r--chimere/urls.py3
-rw-r--r--chimere/views.py5
-rw-r--r--chimere/widgets.py120
17 files changed, 196 insertions, 149 deletions
diff --git a/chimere/models.py b/chimere/models.py
index b4ee64e..d4d206a 100644
--- a/chimere/models.py
+++ b/chimere/models.py
@@ -216,7 +216,8 @@ class Marker(models.Model):
if 'chimere_rss' in settings.INSTALLED_APPS:
available_date = models.DateTimeField(_(u"Available Date"), blank=True,
null=True)
- route = models.ForeignKey(u"Route", blank=True, null=True)
+ route = models.ForeignKey(u"Route", blank=True, null=True,
+ related_name='associated_marker')
objects = BaseGeoManager()
def __unicode__(self):
diff --git a/chimere/static/chimere/css/forms.css b/chimere/static/chimere/css/forms.css
index c1c3eca..499a615 100644
--- a/chimere/static/chimere/css/forms.css
+++ b/chimere/static/chimere/css/forms.css
@@ -1,94 +1,96 @@
/* colors definition */
.map_button .toggle-button-inactive{
-color: #5b80b2;
-background-color:#fff;
+ color: #5b80b2;
+ background-color:#fff;
+ color:#54c200;
}
.map_button .toggle-button-active, .toggle-button:hover{
-background-color: #5b80b2;
-color:#fff;
+ background-color: #5b80b2;
+ background-color:#54c200;
+ color:#fff;
}
-
-
/**/
#map_edit{
-border: 1px solid black;
-width:100%;
-height:500px;
+ margin:0;
+ border: 1px solid black;
+ width:100%;
+ height:500px;
}
.map_button{
-position:absolute;
-z-index:1000;
-text-align:center;
-width:100%;
-margin:0;
-padding:0;
-margin-top:10px;
-font-size:16px;
+ position:absolute;
+ z-index:1000;
+ text-align:center;
+ width:100%;
+ margin:0;
+ padding:0;
+ margin-top:10px;
+ font-size:16px;
}
.map_button a{
-margin:8px;
-padding:4px;
--moz-border-radius: 4px;
--webkit-border-radius: 4px;
-border-radius: 4px;
+ margin:8px;
+ padding:4px;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
}
#live_lonlat{
-margin:1em;
-float:left;
+ margin:1em;
+ float:left;
}
.toggle-button{
-margin:4px 0;
-padding:2px 0;
+ margin:4px 0;
+ padding:2px 0;
}
#upload, #draw-label{
-vertical-align:center;
-background-repeat:no-repeat;
-font-size:20px;
-padding:30px 0;
-padding-left:80px;
+ vertical-align:center;
+ background-repeat:no-repeat;
+ font-size:20px;
+ margin:0;
+ padding:30px 0;
+ padding-left:80px;
}
#upload{
-background-image:url('img/upload.png');
+ background-image:url('../img/upload.png');
}
#draw-label{
-background-image:url('img/drawing.png');
+ background-image:url('../img/drawing.png');
}
#draw-or{
-padding:0;
-padding-left:80px;
-margin:0;
-font-size:16px;
+ padding:0;
+ padding-left:80px;
+ margin:0;
+ font-size:16px;
}
.help-route{
-width:98%;
-background-color:#EEF;;
-margin: 10px 0;
-padding:0 4px;
--moz-border-radius: 4px;
--webkit-border-radius: 4px;
-border-radius: 4px;
-border:1px solid grey;
+ width:98%;
+ background-color:#EEF;;
+ margin: 10px 0;
+ padding:0 4px;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ border:1px solid grey;
}
#help-route-create{
-display:None
+ display:None
}
#help-route-modify{
-display:None
+ display:None
}
diff --git a/chimere/static/chimere/css/styles.css b/chimere/static/chimere/css/styles.css
index e9c03ad..744f920 100644
--- a/chimere/static/chimere/css/styles.css
+++ b/chimere/static/chimere/css/styles.css
@@ -9,7 +9,7 @@ a, a:link, a:visited, legend,
color:#54c200;
}
-h2, .action li, .action li a,
+h2, h3, .action li, .action li a,
.action li li a,
#footer a, #footer a:link, #footer a:visited, .ui-widget-header,
a#welcome_button, a:visited#welcome_button, a:link#welcome_button,
@@ -135,6 +135,12 @@ h2{
position: relative;
}
+h3{
+ text-align:center;
+ margin:6px;
+ padding: 0.1em;
+}
+
.draggable h2{
cursor:move;
}
@@ -178,6 +184,10 @@ ul.action{
padding-bottom:0;
}
+ul#action-2 {
+ padding-bottom:12px;
+}
+
.action li{
font-weight:normal;
display:inline;
diff --git a/chimere/static/chimere/js/edit_route_map.js b/chimere/static/chimere/js/edit_route_map.js
index 11af258..628e9fd 100644
--- a/chimere/static/chimere/js/edit_route_map.js
+++ b/chimere/static/chimere/js/edit_route_map.js
@@ -164,5 +164,5 @@ function uploadFile(error_msg) {
alert(error_msg);
return;
}
- open_window(extra_url + 'upload_file');
+ open_window(extra_url + 'upload_file/');
}
diff --git a/chimere/static/chimere/js/jquery.chimere.js b/chimere/static/chimere/js/jquery.chimere.js
index fb0e0bd..bd38a70 100644
--- a/chimere/static/chimere/js/jquery.chimere.js
+++ b/chimere/static/chimere/js/jquery.chimere.js
@@ -138,7 +138,8 @@ See the file COPYING for details.
settings.layerMarkers.setOpacity(0.8);
if (settings.dynamic_categories){
- settings.map.events.register('moveend', settings.map, methods.loadCategories);
+ settings.map.events.register('moveend', settings.map,
+ methods.loadCategories);
}
/* TODO make a function */
if (settings.display_submited) {
@@ -193,8 +194,9 @@ See the file COPYING for details.
* Update the categories div in ajax
*/
loadCategories: function () {
- var current_extent = settings.map.getExtent().transform(settings.map.getProjectionObject(),
- EPSG_DISPLAY_PROJECTION);
+ var current_extent = settings.map.getExtent().transform(
+ settings.map.getProjectionObject(),
+ EPSG_DISPLAY_PROJECTION);
current_extent = current_extent.toArray().join('_')
current_extent = current_extent.replace(/\./g, 'D');
current_extent = current_extent.replace(/-/g, 'M');
@@ -489,7 +491,7 @@ See the file COPYING for details.
}
if ($(this).attr('checked') == 'checked'){
cat_id = $(this).attr('id').split('_').pop();
- settings.checked_categories.push(cat_id);
+ settings.checked_categories.push(parseInt(cat_id));
}
});
if(initialized && $('#display_submited_check').attr("checked") == "checked"){
diff --git a/chimere/templates/chimere/base.html b/chimere/templates/chimere/base.html
index a09b5fc..297f116 100644
--- a/chimere/templates/chimere/base.html
+++ b/chimere/templates/chimere/base.html
@@ -1,16 +1,9 @@
{% extends "base.html" %}
{% load chimere_tags %}
{% block extra_head %}
- {% head %}
- <style>
- .olControlPanPanel div {
- background-image: url({{STATIC_URL}}/chimere/img/pan-panel.png);
- }
-
- .olControlZoomPanel div {
- background-image: url({{STATIC_URL}}/chimere/img/zoom-panel.png);
- }
- </style>
+{% if css_area %}
+<link rel="stylesheet" href="{{ STATIC_URL }}chimere/css/{{ css_area }}.css" />{% endif %}
+<link rel="stylesheet" href="{{ STATIC_URL }}chimere/css/styles.css" />
{% endblock %}
{% block header %}
{% block page_title %}
diff --git a/chimere/templates/chimere/blocks/head.html b/chimere/templates/chimere/blocks/head_chimere.html
index f1eaf94..85168f4 100644
--- a/chimere/templates/chimere/blocks/head.html
+++ b/chimere/templates/chimere/blocks/head_chimere.html
@@ -1,14 +1,7 @@
-{% if css_area %}
-<link rel="stylesheet" href="{{ STATIC_URL }}chimere/css/{{ css_area }}.css" />{% endif %}
{% for css_url in OSM_CSS_URLS %}
<link rel="stylesheet" href="{{ css_url }}" />{% endfor %}
-{% for css_url in JQUERY_CSS_URLS %}
-<link rel="stylesheet" href="{{ css_url }}" />{% endfor %}
-<link rel="stylesheet" href="{{ STATIC_URL }}chimere/css/styles.css" />
{% for js_url in OSM_JS_URLS %}
<script src="{{ js_url }}"></script>{% endfor %}
-{% for js_url in JQUERY_JS_URLS %}
-<script type="text/javascript" src="{{ js_url }}"></script>{% endfor %}
<script type="text/javascript">
/* Global variables */
@@ -40,6 +33,15 @@
$(function() {$( ".draggable" ).draggable({handle:"h2"});});
</script>
+<style>
+.olControlPanPanel div {
+ background-image: url({{STATIC_URL}}chimere/img/pan-panel.png);
+}
+
+.olControlZoomPanel div {
+ background-image: url({{STATIC_URL}}chimere/img/zoom-panel.png);
+}
+</style>
diff --git a/chimere/templates/chimere/blocks/head_jquery.html b/chimere/templates/chimere/blocks/head_jquery.html
new file mode 100644
index 0000000..5a5a6dd
--- /dev/null
+++ b/chimere/templates/chimere/blocks/head_jquery.html
@@ -0,0 +1,5 @@
+{% for css_url in JQUERY_CSS_URLS %}
+<link rel="stylesheet" href="{{ css_url }}" />{% endfor %}
+
+{% for js_url in JQUERY_JS_URLS %}
+<script type="text/javascript" src="{{ js_url }}"></script>{% endfor %}
diff --git a/chimere/templates/chimere/blocks/map_params.html b/chimere/templates/chimere/blocks/map_params.html
index 78e9000..85e071b 100644
--- a/chimere/templates/chimere/blocks/map_params.html
+++ b/chimere/templates/chimere/blocks/map_params.html
@@ -5,13 +5,14 @@
chimere_init_options['permalink_label'] = '{%trans "Permalink"%}';
{% if dynamic_categories %}chimere_init_options['dynamic_categories'] = 1;{% endif %}
{% if default_area %}
- chimere_init_options["default_area"] = new Array({{default_area.upper_left_corner.x}}, {{default_area.upper_left_corner.y}}, {{default_area.lower_right_corner.x}}, {{default_area.lower_right_corner.y}});
+ chimere_init_options["default_area"] = new Array({{default_area.upper_left_corner.x}}, {{default_area.upper_left_corner.y}}, {{default_area.lower_right_corner.x}}, {{default_area.lower_right_corner.y}});
{% endif %}
{% if p_zoom %}chimere_init_options["zoom"] = {{ p_zoom }};{% endif %}
{% if p_lat %}chimere_init_options["lat"] = {{ p_lat }};{% endif %}
{% if p_lon %}chimere_init_options["lon"] = {{ p_lon }};{% endif %}
+ chimere_init_options["dynamic_categories"] = {{ dynamic_categories }};
{% if p_display_submited %}chimere_init_options["display_submited"] = {{ p_display_submited }};{% endif %}
- chimere_init_options["checked_categories"] = {% if p_checked_categories %}{{p_checked_categories}}{% else %} {{ CHIMERE_DEFAULT_CATEGORIES }}{% endif %};
+ chimere_init_options["checked_categories"] = {% if p_checked_categories %}{{p_checked_categories}}{% else %} {{ CHIMERE_DEFAULT_CATEGORIES }}{% endif %};
var p_current_feature{% if p_current_feature %} = {{ p_current_feature }}{% endif %};
</script>
diff --git a/chimere/templates/chimere/contactus.html b/chimere/templates/chimere/contactus.html
index 8cebe8f..4a44d77 100644
--- a/chimere/templates/chimere/contactus.html
+++ b/chimere/templates/chimere/contactus.html
@@ -1,5 +1,11 @@
{% extends "chimere/base.html" %}
+{% load i18n chimere_tags %}
{% load i18n %}
+{% block extra_head %}
+ {{ block.super }}
+ {{ form.media }}
+ {% head_jquery %}
+{% endblock %}
{% block message_map %}{% endblock %}
{% block message_edit%}{% endblock %}
{% block content %}
diff --git a/chimere/templates/chimere/edit.html b/chimere/templates/chimere/edit.html
index aa2ca08..4023a7e 100644
--- a/chimere/templates/chimere/edit.html
+++ b/chimere/templates/chimere/edit.html
@@ -1,7 +1,9 @@
{% extends "chimere/base.html" %}
-{% load i18n %}
-{% load adminmedia %}
+{% load i18n chimere_tags adminmedia %}
{% block extra_head %}
+ {{ block.super }}
+ {{ form.media }}
+ {% head_chimere %}
{% if dated %}
<!--script type="text/javascript" src="{{extra_url}}media/js/core.js"></script-->
<script type="text/javascript" src="{{ STATIC_URL }}chimere/js/utils.js"></script>
@@ -9,8 +11,6 @@
window.__admin_media_prefix__ = "{% filter escapejs %}{% admin_media_prefix %}{% endfilter %}";
</script>
{% endif %}
- {{ form.media }}
- {{ block.super }}
{% endblock %}
{% block content %}
diff --git a/chimere/templates/chimere/edit_route.html b/chimere/templates/chimere/edit_route.html
index 1fd7813..bcc2afa 100644
--- a/chimere/templates/chimere/edit_route.html
+++ b/chimere/templates/chimere/edit_route.html
@@ -1,15 +1,16 @@
{% extends "chimere/base.html" %}
-{% load i18n %}
-{% load adminmedia %}
+{% load i18n adminmedia chimere_tags %}
{% block extra_head %}
- {% if dated %}
- <!-- script type="text/javascript" src="{{extra_url}}media/js/core.js"></script-->
- <script type="text/javascript">
- window.__admin_media_prefix__ = "{% filter escapejs %}{% admin_media_prefix %}{% endfilter %}";
- </script>
- {% endif %}
{{ block.super }}
{{ form.media }}
+ {% head_chimere %}
+ {% if dated %}
+ <!--script type="text/javascript" src="{{extra_url}}media/js/core.js"></script-->
+ <script type="text/javascript" src="{{ STATIC_URL }}chimere/js/utils.js"></script>
+ <script type="text/javascript">
+ window.__admin_media_prefix__ = "{% filter escapejs %}{% admin_media_prefix %}{% endfilter %}";
+ </script>
+ {% endif %}
{% endblock %}
{% block content %}
diff --git a/chimere/templates/chimere/main_map.html b/chimere/templates/chimere/main_map.html
index b79e41d..7ae0d9f 100644
--- a/chimere/templates/chimere/main_map.html
+++ b/chimere/templates/chimere/main_map.html
@@ -1,5 +1,10 @@
{% extends "chimere/base.html" %}
{% load i18n unlocalize_point chimere_tags %}
+{% block extra_head %}
+ {{ block.super }}
+ {% head_jquery %}
+ {% head_chimere %}
+{% endblock %}
{% block message_edit %}{% endblock %}
{% block sidebar %}
<div id='panel' class='draggable ui-widget ui-corner-all'>
diff --git a/chimere/templatetags/chimere_tags.py b/chimere/templatetags/chimere_tags.py
index c8358a0..f645a9d 100644
--- a/chimere/templatetags/chimere_tags.py
+++ b/chimere/templatetags/chimere_tags.py
@@ -36,15 +36,24 @@ def display_news(context, display=False):
context_data['news_lst'] = news
return context_data
-@register.inclusion_tag('chimere/blocks/head.html', takes_context=True)
-def head(context):
+@register.inclusion_tag('chimere/blocks/head_jquery.html', takes_context=True)
+def head_jquery(context):
"""
- Create context and display head elements (js, css, etc.).
+ Create context and display head elements (js, css, etc.) for jquery.
"""
context_data = {
- "STATIC_URL": settings.STATIC_URL,
"JQUERY_JS_URLS": settings.JQUERY_JS_URLS,
"JQUERY_CSS_URLS": settings.JQUERY_CSS_URLS,
+ }
+ return context_data
+
+@register.inclusion_tag('chimere/blocks/head_chimere.html', takes_context=True)
+def head_chimere(context):
+ """
+ Create context and display head elements (js, css, etc.) for chimere.
+ """
+ context_data = {
+ "STATIC_URL": settings.STATIC_URL,
"MEDIA_URL": settings.MEDIA_URL,
"DYNAMIC_CATEGORIES": settings.CHIMERE_DYNAMIC_CATEGORIES,
"EXTRA_URL": reverse("chimere:index"),
@@ -68,6 +77,8 @@ def head(context):
@register.inclusion_tag('chimere/blocks/map_params.html', takes_context=True)
def map_params(context):
context_data = {'p_checked_categories': settings.CHIMERE_DEFAULT_CATEGORIES}
+ context_data['dynamic_categories'] = 'true' \
+ if settings.CHIMERE_DYNAMIC_CATEGORIES else 'false'
try:
request = context['request']
except KeyError:
diff --git a/chimere/urls.py b/chimere/urls.py
index c065393..f39d2d8 100644
--- a/chimere/urls.py
+++ b/chimere/urls.py
@@ -53,6 +53,9 @@ urlpatterns += patterns('chimere.views',
'get_available_categories', name="get_categories"),
url(r'^(?P<area_name>\w+)?/?ty/(?P<tiny_urn>\w+)$',
'redirectFromTinyURN', name="tiny"),
+ url(r'^(?P<area_name>\w+)?/?upload_file/((?P<category_id>\w+)/)?$',
+ 'uploadFile', name='upload_file'),
+
)
# At the end, because it catches large
diff --git a/chimere/views.py b/chimere/views.py
index 0cddd2c..6f71908 100644
--- a/chimere/views.py
+++ b/chimere/views.py
@@ -179,7 +179,8 @@ def uploadFile(request, category_id='', area_name=''):
routefile.save()
if not category_id:
response_dct['gpx_id'] = routefile.pk
- return render_to_response('upload_file.html', response_dct)
+ return render_to_response('chimere/upload_file.html',
+ response_dct)
routefile.process()
if not routefile.route:
response_dct['errors'] = _(u"Bad file. Please check it with an "
@@ -197,7 +198,7 @@ def uploadFile(request, category_id='', area_name=''):
# An unbound form
form = Form()
response_dct.update({'form':form})
- return render_to_response('upload_file.html', response_dct,
+ return render_to_response('chimere/upload_file.html', response_dct,
context_instance=RequestContext(request))
def processRouteFile(request, area_name='', file_id=None):
diff --git a/chimere/widgets.py b/chimere/widgets.py
index d12f2e6..b12ea97 100644
--- a/chimere/widgets.py
+++ b/chimere/widgets.py
@@ -32,14 +32,14 @@ def getMapJS(area_name=''):
'''Variable initialization for drawing the map
'''
# projection, center and bounds definitions
- js = u"var epsg_display_projection = new OpenLayers.Projection('EPSG:%d')\
-;\n" % settings.CHIMERE_EPSG_DISPLAY_PROJECTION
+ js = u"var epsg_display_projection = new OpenLayers.Projection('EPSG:%d')"\
+ u";\n" % settings.CHIMERE_EPSG_DISPLAY_PROJECTION
js += u"OpenLayers.ImgPath = '%schimere/img/';\n" % settings.STATIC_URL
js += u"var epsg_projection = new OpenLayers.Projection('EPSG:%d');\n" % \
- settings.CHIMERE_EPSG_PROJECTION
- js += u"var centerLonLat = new OpenLayers.LonLat(%f,\
-%f).transform(epsg_display_projection, epsg_projection);\n" % \
- settings.CHIMERE_DEFAULT_CENTER
+ settings.CHIMERE_EPSG_PROJECTION
+ js += u"var centerLonLat = new OpenLayers.LonLat(%f,"\
+ u"%f).transform(epsg_display_projection, epsg_projection);\n" % \
+ settings.CHIMERE_DEFAULT_CENTER
js += u"var media_path = '%s';\n" % settings.STATIC_URL
js += u"var map_layer = %s;\n" % settings.CHIMERE_MAP_LAYER
js += u"var restricted_extent;\n"
@@ -48,12 +48,11 @@ def getMapJS(area_name=''):
js += u"var area_name='%s';\n" % area_name
if settings.CHIMERE_RESTRICTED_EXTENT:
restricted_extent_str = [str(coord) \
- for coord in settings.CHIMERE_RESTRICTED_EXTENT]
+ for coord in settings.CHIMERE_RESTRICTED_EXTENT]
js += u"restricted_extent = new OpenLayers.Bounds(%s);\n" %\
", ".join(restricted_extent_str)
- js = u"""<script type="text/javascript"><!--
-%s// !--></script>
-""" % js
+ js = u"<script type='text/javascript'><!--\n"\
+ u"%s// !--></script>\n" % js
return js
class TextareaWidget(forms.Textarea):
@@ -70,10 +69,12 @@ class PointChooserWidget(forms.TextInput):
"""
class Media:
css = {
- "all": settings.OSM_CSS_URLS + ["%schimere/css/forms.css" % settings.STATIC_URL,]
+ "all": settings.OSM_CSS_URLS + \
+ ["%schimere/css/forms.css" % settings.STATIC_URL,]
}
- js = settings.OSM_JS_URLS + ["%schimere/js/edit_map.js" % settings.STATIC_URL,
- "%schimere/js/base.js" % settings.STATIC_URL,]
+ js = settings.OSM_JS_URLS + \
+ ["%schimere/js/edit_map.js" % settings.STATIC_URL,
+ "%schimere/js/base.js" % settings.STATIC_URL,]
def render(self, name, value, attrs=None, area_name=''):
'''
@@ -94,28 +95,29 @@ class PointChooserWidget(forms.TextInput):
else:
value = None
tpl = getMapJS(area_name)
- tpl += u'<script src="%schimere/js/edit_map.js"></script>\n' % settings.STATIC_URL
- tpl += u"""<div id='map_edit'></div>
-<div id='live_lonlat'>
-<p><label for='live_latitude'>%s</label>\
-<input type='texte' name='live_latitude' id='live_latitude' size='8' \
-disabled='true' value='%f'/></p>
-<p><label for='live_longitude'>%s</label><input type='texte' \
-name='live_longitude' id='live_longitude' size='8' disabled='true' \
-value='%f'/></p>
-</div>
-<input type='hidden' name='%s' id='id_%s' value="%s"/>
-""" % (_("Latitude"), value_y, _("Longitude"), value_x, name, name, val)
+ tpl += u'<script src="%schimere/js/edit_map.js"></script>\n' % \
+ settings.STATIC_URL
+ tpl += u"<div id='map_edit'></div>"\
+ u"<div id='live_lonlat'>"\
+ u" <p><label for='live_latitude'>%s</label>"\
+ u" <input type='texte' name='live_latitude' id='live_latitude' "\
+ u"size='8' disabled='true' value='%f'/></p>"\
+ u"<p><label for='live_longitude'>%s</label><input type='texte' "\
+ u"name='live_longitude' id='live_longitude' size='8' "\
+ u"disabled='true' value='%f'/></p>"\
+ u"</div>"\
+ u"<input type='hidden' name='%s' id='id_%s' value='%s'/>" % (
+ _("Latitude"), value_y, _("Longitude"), value_x, name, name,
+ val)
tpl += "<script type='text/javascript'><!--\n"
tpl += "init();\n"
if value:
- tpl += '''var mylonlat = new OpenLayers.LonLat(%f,%f);
-putMarker(mylonlat.transform(epsg_display_projection,
- map.getProjectionObject()).clone(), true);
-''' % (value_x, value_y)
- tpl += """// --></script>
-<hr class='spacer'/>
-"""
+ tpl += u'var mylonlat = new OpenLayers.LonLat(%f,%f);\n'\
+ u'putMarker(mylonlat.transform(epsg_display_projection,\n'\
+ u' map.getProjectionObject()).clone(), true);\n' % (
+ value_x, value_y)
+ tpl += "// --></script>\n"\
+ u"<hr class='spacer'/>\n"
return mark_safe(tpl)
class PointField(models.PointField):
@@ -137,11 +139,12 @@ class RouteChooserWidget(forms.TextInput):
Manage the edition of route on a map
"""
class Media:
- css = {
- "all": settings.OSM_CSS_URLS + ["%schimere/css/forms.css" % settings.STATIC_URL,]
+ css = {"all": settings.OSM_CSS_URLS + \
+ ["%schimere/css/forms.css" % settings.STATIC_URL,]
}
- js = ["%schimere/js/edit_route_map.js" % settings.STATIC_URL,
- "%schimere/js/base.js" % settings.STATIC_URL,] + settings.OSM_JS_URLS
+ js = settings.OSM_JS_URLS + \
+ ["%schimere/js/edit_route_map.js" % settings.STATIC_URL,
+ "%schimere/js/base.js" % settings.STATIC_URL,]
def render(self, name, value, attrs=None, area_name='', routefile_id=None):
'''
@@ -150,28 +153,29 @@ class RouteChooserWidget(forms.TextInput):
tpl = getMapJS(area_name)
help_create = ''
if not value:
- help_create = """<h3>%s</h3>
-<p>%s</p>
-<p>%s</p>
-<p>%s</p>
-<p>%s</p>
-<p>%s</p>""" % (_(u"Creation mode"),
-_(u"To start drawing the route click on the toggle button: \"Draw\"."),
-_(u"Then click on the map to begin the drawing."),
-_(u"You can add points by clicking again."),
-_(u"To finish the drawing double click. When the drawing is finished you can \
-edit it."),
-_(u"While creating to undo a drawing click again on the toggle button \"Stop \
-drawing\"."))
- help_modify = """<h3>%s</h3>
-<p>%s</p>
-<p>%s</p>
-<p>%s</p>""" % (_(u"Modification mode"),
-_(u"To move a point click on it and drag it to the desired position."),
-_(u"To delete a point move the mouse cursor over it and press the \"d\" or \
-\"Del\" key."),
-_(u"To add a point click in the middle of a segment and drag the new point to \
-the desired position"))
+ help_create = u"<h3>%s</h3>\n"\
+ u"<p>%s</p>\n"\
+ u"<p>%s</p>\n"\
+ u"<p>%s</p>\n"\
+ u"<p>%s</p>\n"\
+ u"<p>%s</p>\n" % (_(u"Creation mode"),
+ _(u"To start drawing the route click on the toggle button: "\
+ u"\"Draw\"."),
+ _(u"Then click on the map to begin the drawing."),
+ _(u"You can add points by clicking again."),
+ _(u"To finish the drawing double click. When the drawing is "\
+ u"finished you can edit it."),
+ _(u"While creating to undo a drawing click again on the toggle "\
+ u"button \"Stop drawing\"."))
+ help_modify = u"<h3>%s</h3>\n"\
+ u"<p>%s</p>\n"\
+ u"<p>%s</p>\n"\
+ u"<p>%s</p>\n" % (_(u"Modification mode"),
+ _(u"To move a point click on it and drag it to the desired position."),
+ _(u"To delete a point move the mouse cursor over it and press the "\
+ u"\"d\" or \"Del\" key."),
+ _(u"To add a point click in the middle of a segment and drag the new "\
+ u"point to the desired position"))
tpl += u'<script src="%sedit_route_map.js"></script>\n' % \
settings.STATIC_URL
if not value: