diff options
Diffstat (limited to 'chimere/views.py')
| -rw-r--r-- | chimere/views.py | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/chimere/views.py b/chimere/views.py index 38a0a53..fbbef41 100644 --- a/chimere/views.py +++ b/chimere/views.py @@ -32,6 +32,7 @@ from django.conf import settings from django.contrib.gis.geos import GEOSGeometry from django.contrib.gis.gdal.error import OGRException from django.contrib.gis.measure import D +from django.contrib.sites.models import get_current_site from django.core import serializers from django.core.exceptions import ObjectDoesNotExist from django.core.urlresolvers import reverse @@ -69,11 +70,13 @@ def get_base_uri(request): return base_uri #TODO: convert to requestcontext -def get_base_response(area_name=""): +def get_base_response(request, area_name=""): """ Get the base url """ base_response_dct = {'media_path':settings.MEDIA_URL,} + base_response_dct['MOBILE'] = settings.MOBILE_TEST or \ + get_current_site(request).domain in settings.MOBILE_DOMAINS base_url = reverse("chimere:index") if not base_url.startswith('/'): base_url = '/' + base_url @@ -149,7 +152,7 @@ def index(request, area_name=None, default_area=None, simple=False, request.session['last_visit'] != today: request.session['last_visit'] = today news_visible = True - response_dct, redir = get_base_response(area_name) + response_dct, redir = get_base_response(request, area_name) if redir: return redir # don't mess with permalink @@ -199,7 +202,7 @@ def get_edit_page(redirect_url, item_cls, item_form, Edition page """ def func(request, area_name="", item_id=None, cat_type=['M']): - response_dct, redir = get_base_response(area_name) + response_dct, redir = get_base_response(request, area_name) if redir: return redir, None, None if 'area_name' in response_dct: @@ -286,7 +289,7 @@ def get_edit_page(redirect_url, item_cls, item_form, f.save(marker) base_uri = get_base_uri(request) notifySubmission(base_uri, item) - response_dct = get_base_response(area_name) + response_dct = get_base_response(request, area_name) return redirect(redirect_url + '-item', area_name + '/' if area_name else '', item.ref_item.pk, 'submited'), None, subcategories @@ -348,7 +351,7 @@ def edit(request, area_name="", item_id=None, submited=False): context_instance=RequestContext(request)) def uploadFile(request, category_id='', area_name=''): - response_dct, redir = get_base_response(area_name) + response_dct, redir = get_base_response(request, area_name) if redir: return redir Form = FileForm if not category_id else FullFileForm @@ -457,7 +460,7 @@ def submited(request, area_name="", action=""): """ Successful submission page """ - response_dct, redir = get_base_response(area_name) + response_dct, redir = get_base_response(request, area_name) if redir: return redir response_dct.update({'actions':actions(response_dct['area_name']), @@ -469,7 +472,7 @@ def charte(request, area_name=""): """ Affichage de la charte """ - response_dct, redir = get_base_response(area_name) + response_dct, redir = get_base_response(request, area_name) if redir: return redir response_dct.update({'actions':actions(response_dct['area_name']), @@ -498,7 +501,7 @@ def contactus(request, area_name=""): msg = _(u"Temporary error. Renew your message later.") else: form = ContactForm() - response_dct, redir = get_base_response(area_name) + response_dct, redir = get_base_response(request, area_name) if redir: return redir response_dct.update({'actions':actions(response_dct['area_name']), @@ -515,7 +518,7 @@ def extraPage(request, area_name="", page_id=""): page = Page.objects.get(available=True, mnemonic=page_id) except ObjectDoesNotExist: return redirect(reverse('chimere:index')) - response_dct, redir = get_base_response(area_name) + response_dct, redir = get_base_response(request, area_name) if redir: return redir response_dct.update({'actions':actions(response_dct['area_name']), @@ -536,7 +539,7 @@ def getDetail(request, area_name, marker_id): status__in=['A', 'S'])[0] except (ValueError, IndexError): return HttpResponse('no results') - response_dct, redir = get_base_response(area_name) + response_dct, redir = get_base_response(request, area_name) if redir: return redir response_dct['marker'] = marker @@ -566,7 +569,7 @@ def getDescriptionDetail(request, area_name, category_id): category = Category.objects.filter(id=int(category_id))[0] except (ValueError, IndexError): return HttpResponse('no results') - response_dct, redir = get_base_response(area_name) + response_dct, redir = get_base_response(request, area_name) if redir: return redir response_dct['category'] = category @@ -627,7 +630,7 @@ def get_all_categories(request, area_name=None): ''' Get all available categories in JSON ''' - context_data, redir = get_base_response(area_name) + context_data, redir = get_base_response(request, area_name) area = context_data["area"] subcategories = [] if area: @@ -646,7 +649,7 @@ def get_available_categories(request, area_name=None, area=None, status='A', ''' Get category menu for a designed area ''' - context_data, redir = get_base_response(area_name) + context_data, redir = get_base_response(request, area_name) area = context_data["area"] if redir: return redir @@ -708,7 +711,7 @@ def getTinyfiedUrl(request, parameters, area_name=''): urn = TinyUrl.getUrnByParameters(parameters) except: return {} - response_dct, redir = get_base_response(area_name) + response_dct, redir = get_base_response(request, area_name) if redir: return redir url = reverse('chimere:tiny', args=[(response_dct['area_name'] \ @@ -734,7 +737,7 @@ def redirectFromTinyURN(request, area_name='', tiny_urn=''): Redirect from a tiny Urn """ parameters = '?' + TinyUrl.getParametersByUrn(tiny_urn) - response_dct, redir = get_base_response(area_name) + response_dct, redir = get_base_response(request, area_name) if redir: return redir return HttpResponseRedirect(response_dct['extra_url'] + parameters) @@ -809,7 +812,7 @@ def rss(request, area_name=''): ''' Redirect to RSS subscription page ''' - response_dct, redir = get_base_response(area_name) + response_dct, redir = get_base_response(request, area_name) if redir: return redir response_dct.update({'actions':actions(response_dct['area_name']), |
