summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2012-07-02 19:28:16 +0200
committerÉtienne Loks <etienne.loks@peacefrogs.net>2012-07-02 19:28:16 +0200
commit665525ef8ab702a9d4f08c1c250dd60e13e6bae2 (patch)
treedb5457b549420444e689f7556390256ab0043c4f
parent551903a0bb6ea6f0f9f1e7d81fb8132ceae563a8 (diff)
downloadChimère-665525ef8ab702a9d4f08c1c250dd60e13e6bae2.tar.bz2
Chimère-665525ef8ab702a9d4f08c1c250dd60e13e6bae2.zip
Fix "Show on map" in welcome message (refs #366)
* new templatetag: get_tinyfied_url * remove an old reference to BASE_URL
-rw-r--r--chimere/models.py8
-rw-r--r--chimere/templates/chimere/blocks/welcome.html11
-rw-r--r--chimere/templates/chimere/detail.html2
-rw-r--r--chimere/templatetags/chimere_tags.py8
-rw-r--r--chimere/views.py6
5 files changed, 23 insertions, 12 deletions
diff --git a/chimere/models.py b/chimere/models.py
index 1fab398..4fb2455 100644
--- a/chimere/models.py
+++ b/chimere/models.py
@@ -32,6 +32,7 @@ from django.contrib.gis.gdal import SpatialReference
from django.contrib import admin
from django.core.files import File
from django.core.exceptions import ValidationError
+from django.core.urlresolvers import reverse
from django.db.models.signals import post_save
from django import forms
from django.utils.translation import ugettext_lazy as _
@@ -417,10 +418,13 @@ class Marker(GeographicItem):
# Should we catch if not exists ?
return self.categories.all()[0]
- def get_absolute_url(self):
+ def get_absolute_url(self, area_name=''):
parameters = 'current_feature=%d&checked_categories=%s' % (self.id,
self.default_category.pk)
- return settings.BASE_URL + 'ty/' + TinyUrl.getUrnByParameters(parameters)
+ urn = TinyUrl.getUrnByParameters(parameters)
+ area_name = area_name + '/' if area_name else ''
+ url = reverse('chimere:tiny', args=[area_name, urn])
+ return url
class MultimediaType(models.Model):
MEDIA_TYPES = (('A', _(u"Audio")),
diff --git a/chimere/templates/chimere/blocks/welcome.html b/chimere/templates/chimere/blocks/welcome.html
index 7495564..44b949e 100644
--- a/chimere/templates/chimere/blocks/welcome.html
+++ b/chimere/templates/chimere/blocks/welcome.html
@@ -1,4 +1,4 @@
-{% load i18n sanitize %}
+{% load i18n sanitize chimere_tags %}
{% if news_lst or welcome_message %}
<a href='#' id='welcome_button' class='ui-widget ui-button ui-state-default ui-corner-all'>{% trans "Welcome message"%}</a>
<script type='text/javascript'>
@@ -20,12 +20,15 @@
{% if news.title %}
<h3>{{news.title}} &ndash; {{ news.date }}</h3>
<p>{{news.content|safe}}</p>
- {% else %}
+ {% else %}
<h3>{{news.name}} &ndash; {{ news.start_date }}{% if news.end_date %} - {{ news.end_date }}{% endif %}</h3>
+ {% if news.description %}
+ <p class='description'>{{news.description|sanitize:"p b i br hr strong em span:style a:href:target ul li ol h1 h2 h3 h4 table td th tr"|safe}}</p>
+ {% endif %}
{% for property in news.getProperties %}
- <p id='{{news.propertymodel.getNamedId}}'>{{ property.value|sanitize:"p b i br hr strong em span:style a:href:target ul li ol h1 h2 h3 h4 table td th tr"|safe }}</p>
+ <p class='{{news.propertymodel.getNamedId}}'>{{ property.value|sanitize:"p b i br hr strong em span:style a:href:target ul li ol h1 h2 h3 h4 table td th tr"|safe }}</p>
{% endfor %}
- <p class='marker_link'><a href='{{ news.get_absolute_url }}'>{% trans "See it on the map"%}</a></p>
+ <p class='marker_link'><a href='{% get_tinyfied_url news area_name %}'>{% trans "See it on the map"%}</a></p>
{% endif %}
</div>
{%endfor%}
diff --git a/chimere/templates/chimere/detail.html b/chimere/templates/chimere/detail.html
index 82d9e81..5f20f7c 100644
--- a/chimere/templates/chimere/detail.html
+++ b/chimere/templates/chimere/detail.html
@@ -33,7 +33,7 @@
<li>{% trans "Share"%}</li>{% for share_network in share_networks %}
<li><a href='{{share_network.1}}'><img src="{{share_network.2}}" alt="{{share_network.0}}"/></a></li>
{% endfor %}</ul>{% endif %}
- <a href='{% if marker.route %}{% url chimere:editroute-item area_name|default_if_none:"" marker.route.pk "" %}{%else%}{% url chimere:edit-item area_name|default_if_none:"" marker.pk "" %}{%endif%}'>
+ <a href='{% if marker.route %}{% url chimere:editroute-item area_name_slash|default_if_none:"" marker.route.pk "" %}{%else%}{% url chimere:edit-item area_name_slash|default_if_none:"" marker.pk "" %}{%endif%}'>
{% trans "Submit a modification" %}
</a>
{% endif %}
diff --git a/chimere/templatetags/chimere_tags.py b/chimere/templatetags/chimere_tags.py
index 147edbd..e70c7df 100644
--- a/chimere/templatetags/chimere_tags.py
+++ b/chimere/templatetags/chimere_tags.py
@@ -51,6 +51,7 @@ def display_news(context, display=False):
if "area_name" in context:
try:
area = Area.objects.get(urn=context["area_name"])
+ context_data['area_name'] = context['area_name']
context_data['welcome_message'] = area.welcome_message
except ObjectDoesNotExist:
pass
@@ -160,4 +161,9 @@ def multimedia_render(context, multimedia_file):
context['multimedia_item'] = multimedia_file
return context
-
+@register.simple_tag
+def get_tinyfied_url(marker, area_name=''):
+ if not marker or not hasattr(marker, 'get_absolute_url'):
+ return ""
+ url = marker.get_absolute_url(area_name)
+ return url
diff --git a/chimere/views.py b/chimere/views.py
index 4bd6758..f2271e7 100644
--- a/chimere/views.py
+++ b/chimere/views.py
@@ -61,6 +61,7 @@ def get_base_response(area_name=""):
if area_name and area_name.endswith('/'):
area_name = area_name[:-1]
if area_name:
+ base_response_dct['area_name_slash'] = area_name + "/"
if base_url[-1] != '/':
base_url += '/'
base_url += area_name + '/'
@@ -572,10 +573,7 @@ def getTinyfiedUrl(parameters, area_name=''):
response_dct, redir = get_base_response(area_name)
if redir:
return redir
- url = settings.SERVER_URL
- if url[-1] == '/':
- url = url[:-1]
- url += response_dct['extra_url'] + 'ty/' + urn
+ url = reverse('chimere:tiny', args=[response_dct['area_name'] + '/', urn])
text = settings.PROJECT_NAME
if 'current_feature' in parameters:
for item in parameters.split('&'):