add viewer/ URL to redirect to SIG viewer (#10799)

This commit is contained in:
Frédéric Péters 2016-05-02 14:41:02 +02:00
parent f5a8764436
commit 4b4970cac3
2 changed files with 24 additions and 1 deletions

View File

@ -14,7 +14,8 @@ public_urlpatterns = patterns('',
url(r'^(?P<slug>[\w,-]+)/voies/(?P<insee>\d+)/(?P<nom_rue>[\w ]+)/numero$', VoiesCommuneView.as_view(), name='montpellier-voies-commune'),
url(r'^(?P<slug>[\w,-]+)/voiecommune/(?P<nom_rue>[\w ]+)$', VoieCommuneView.as_view(), name='montpellier-sig-voiecommune'),
url(r'^(?P<slug>[\w,-]+)/reverse$', AdresseView.as_view(), name='montpellier-sig-adresse'),
url(r'^(?P<slug>[\w,-]+)/quartier/(?P<insee>\d+)/(?P<nom_rue>[\w ]+)/(?P<numero>\d+)/$', DistrictView.as_view(), name='montpellier-sig-district')
url(r'^(?P<slug>[\w,-]+)/quartier/(?P<insee>\d+)/(?P<nom_rue>[\w ]+)/(?P<numero>\d+)/$', DistrictView.as_view(), name='montpellier-sig-district'),
url(r'^(?P<slug>[\w,-]+)/viewer/$', ViewerUrlView.as_view(), name='montpellier-sig-viewer'),
)
management_urlpatterns = patterns('',

View File

@ -7,6 +7,7 @@ from django.views.generic.edit import CreateView, UpdateView, DeleteView
from django.views.generic.base import View, RedirectView
from django.core.urlresolvers import reverse
from django.http import HttpResponseBadRequest
from django.shortcuts import redirect
from passerelle import utils
@ -226,3 +227,24 @@ class DistrictView(View, SingleObjectMixin):
data = self.get_object().sig_request('adresse/%s/%s' %(r['geometry'].get('x'), r['geometry'].get('y')))
return utils.response_for_json(request, {'data': data})
return utils.response_for_json(request, {'data': []})
class ViewerUrlView(View, SingleObjectMixin):
model = MontpellierSig
permanent = False
def get(self, request, *args, **kwargs):
lat = request.GET.get('lat')
lon = request.GET.get('lon')
# WGS84: epsg:4326
wgs84 = pyproj.Proj(init='epsg:4326')
# Lambert93: epsg:2154
lambert93 = pyproj.Proj(init='epsg:2154')
try:
l_lon, l_lat = pyproj.transform(wgs84, lambert93, lon, lat)
except TypeError:
return HttpResponseBadRequest()
area = l_lon-50, l_lat-50, l_lon+50, l_lat+50
return redirect('http://sig.montpellier-agglo.com/WebVilleServer/resources/index.html#extent:%s;%s;%s;%s' % area)