summaryrefslogtreecommitdiff
path: root/chimere/main/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'chimere/main/views.py')
-rw-r--r--chimere/main/views.py26
1 files changed, 24 insertions, 2 deletions
diff --git a/chimere/main/views.py b/chimere/main/views.py
index 52c0627..f065f2c 100644
--- a/chimere/main/views.py
+++ b/chimere/main/views.py
@@ -33,7 +33,7 @@ from django.core import serializers
from chimere import settings
from chimere.main.actions import actions
from chimere.main.models import Category, SubCategory, PropertyModel, Marker, \
- Route, News, SimpleArea, Area, Color
+ Route, News, SimpleArea, Area, Color, TinyUrl
from chimere.main.widgets import getMapJS, PointChooserWidget, \
RouteChooserWidget, URL_OSM_JS, URL_OSM_CSS
@@ -53,7 +53,6 @@ def get_base_response(area_name=""):
base_url += '/'
base_url += area_name + '/'
base_response_dct['extra_url'] = base_url
- base_response_dct['area_name'] = area_name
if settings.CSS_AREAS and area_name:
base_response_dct['css_area'] = area_name + ".css"
base_response_dct['area_name'] = area_name
@@ -324,3 +323,26 @@ def getAvailableCategories(request, area=None, status='A', force=None):
response_dct['sub_categories'] = subcategories
return render_to_response('categories.html', response_dct)
+def getTinyfiedUrl(request, area_name='', parameters=''):
+ '''
+ Get the tinyfied version of parameters
+ '''
+ try:
+ urn = TinyUrl.getUrnByParameters(parameters)
+ except:
+ return HttpResponse('no results')
+ response_dct = get_base_response(area_name)
+ url = settings.SERVER_URL
+ if url[-1] == '/':
+ url = url[:-1]
+ url += response_dct['extra_url'] + 'ty/' + urn
+ data = '{"urn": "%s", "url":"%s"}' % (urn, url)
+ return HttpResponse(data)
+
+def redirectFromTinyURN(request, area_name='', tiny_urn=''):
+ """
+ Redirect from a tiny Urn
+ """
+ parameters = '?' + TinyUrl.getParametersByUrn(tiny_urn)
+ response_dct = get_base_response(area_name)
+ return HttpResponseRedirect(response_dct['extra_url'] + parameters)