summaryrefslogtreecommitdiff
path: root/chimere/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'chimere/views.py')
-rw-r--r--chimere/views.py37
1 files changed, 29 insertions, 8 deletions
diff --git a/chimere/views.py b/chimere/views.py
index 421c03e..b6c03b8 100644
--- a/chimere/views.py
+++ b/chimere/views.py
@@ -1011,14 +1011,35 @@ def getTinyfiedUrl(request, parameters, area_name=''):
if not url.startswith('http'):
url = get_base_uri(request) + url
url = re.sub("([^:])\/\/", "\g<1>/", url)
- text = response_dct['area'].name
- if 'current_feature' in parameters:
- for item in parameters.split('&'):
- if 'current_feature' in item:
- try:
- text = str(models.Marker.objects.get(id=item.split('=')[1]))
- except (IndexError, models.Marker.DoesNotExist):
- pass
+ current_site = get_current_site(request)
+ map_name = current_site.name
+ if response_dct['area']:
+ map_name += " - " + response_dct["area"].name
+
+ text = ""
+ item_id = parameters.split(';')[4]
+ if item_id and "-" in item_id:
+ cls = None
+ if item_id.startswith('point-'):
+ cls = models.Marker
+ elif item_id.startswith('route-'):
+ cls = models.Route
+ elif item_id.startswith('polygon-'):
+ cls = models.Polygon
+ item_id = item_id.split("-")[1]
+ if cls:
+ try:
+ text = str(cls.objects.get(id=item_id))
+ text = str(
+ _("Share a point of interest on the map {}: ")
+ ).format(map_name) + text
+ except (cls.DoesNotExist):
+ pass
+ if not text:
+ text = str(
+ _("Share a point of interest on the map {}")
+ ).format(map_name)
+
data["urn"] = urlquote(urn)
data["url"] = urlquote(url)
data["text"] = urlquote(text)