general: refactor to new style of connector (#12411)

This commit is contained in:
Serghei Mihai 2016-07-01 17:15:49 +02:00 committed by Frédéric Péters
parent 71aaeb2068
commit 3165d92c99
6 changed files with 10 additions and 113 deletions

View File

@ -1,29 +0,0 @@
# passerelle-montpellier-sig
# Copyright (C) 2015 Entr'ouvert
#
# This program is free software: you can redistribute it and/or modify it
# under the terms of the GNU Affero General Public License as published
# by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import django.apps
class AppConfig(django.apps.AppConfig):
name = 'passerelle_montpellier_sig'
verbose_name = 'Montpellier GIS Connector'
def get_after_urls(self):
from . import urls
return urls.urlpatterns
default_app_config = 'passerelle_montpellier_sig.AppConfig'

View File

@ -30,9 +30,6 @@ class MontpellierSig(BaseResource):
class Meta:
verbose_name = _('Montpellier SIG Web Service')
def get_absolute_url(self):
return reverse('montpellier-sig-view', kwargs={'slug': self.slug})
def sig_request(self, endpoint, **kwargs):
logger = logging.getLogger(__name__)
@ -54,10 +51,6 @@ class MontpellierSig(BaseResource):
logger.warning('error occured while trying to read json data from %r: %r', endpoint, e)
return []
@classmethod
def get_add_url(cls):
return reverse('montpellier-sig-add')
@classmethod
def get_verbose_name(cls):
return cls._meta.verbose_name

View File

@ -1,23 +1,7 @@
{% extends "passerelle_montpellier_sig/base.html" %}
{% extends "passerelle/manage/service_view.html" %}
{% load i18n passerelle %}
{% block appbar %}
<h2>SIG - {{ object.title }}</h2>
{% if perms.passerelle_montpellier_sig.change_passerelle_montpellier_sig %}
<a rel="popup" class="button" href="{% url 'montpellier-sig-edit' slug=object.slug %}">{% trans 'edit' %}</a>
{% endif %}
{% if perms.passerelle_montpellier_sig.delete_passerelle_montpellier_sig %}
<a rel="popup" class="button" href="{% url 'montpellier-sig-delete' slug=object.slug %}">{% trans 'delete' %}</a>
{% endif %}
{% endblock %}
{% block content %}
<p>
Service URL : {{ object.service_url }}
</p>
<div>
<h3>{% trans 'Endpoints' %}</h3>
{% block endpoints %}
<ul>
<li>{% trans 'Listing communes:' %}
<a href="{% url 'montpellier-sig-communes' slug=object.slug %}">{{ site_base_uri }}{% url 'montpellier-sig-communes' slug=object.slug %}</a>
@ -26,19 +10,19 @@ Service URL : {{ object.service_url }}
<a href="{% url 'montpellier-sig-communes' slug=object.slug %}?q=montp">{{ site_base_uri }}{% url 'montpellier-sig-communes' slug=object.slug %}?q=montp</a>
</li>
<li>{% trans 'Listing streets:' %}
<a href="{% url 'montpellier-sig-voies' slug=object.slug insee=34172 %}">{{ site_base_uri }}{% url 'montpellier-sig-view' slug=object.slug %}voies/<i>&lt;insee&gt;</i></a>
<a href="{% url 'montpellier-sig-voies' slug=object.slug insee=34172 %}">{{ site_base_uri }}{% url 'montpellier-sig-voies' slug=object.slug insee=34172 %}</a>
</li>
<li>{% trans 'Listing streets containing string:' %}
<a href="{% url 'montpellier-sig-voies' slug=object.slug insee=34172 %}?q=com">{{ site_base_uri }}{% url 'montpellier-sig-view' slug=object.slug %}voies/<i>&lt;insee&gt;</i>?q=com</a>
<a href="{% url 'montpellier-sig-voies' slug=object.slug insee=34172 %}?q=com">{{ site_base_uri }}{% url 'montpellier-sig-voies' slug=object.slug insee=34172 %}?q=com</a>
</li>
<li>{% trans 'Listing streets numbers of a commune containing specified string in street name:' %}
<a href="{% url 'montpellier-voies-commune' slug=object.slug insee=34172 nom_rue='lauragais' %}">{{ site_base_uri }}{% url 'montpellier-sig-view' slug=object.slug %}voies/<i>&lt;insee&gt;</i>/<i>&lt;street_name&gt;</i>/numero</a>
<a href="{% url 'montpellier-voies-commune' slug=object.slug insee=34172 nom_rue='lauragais' %}">{{ site_base_uri }}{% url 'montpellier-voies-commune' slug=object.slug insee=34172 nom_rue='lauragais' %}</a>
</li>
<li>{% trans 'Listing streets numbers of a commune containing specified string in street name:' %}
<a href="{% url 'montpellier-voies-commune' slug=object.slug insee=34172 nom_rue='lauragais' %}">{{ site_base_uri }}{% url 'montpellier-sig-view' slug=object.slug %}voies/<i>&lt;insee&gt;</i>/<i>&lt;street_name&gt;</i>/numero?q=<i>&lt;street_number&gt;</i></a>
<a href="{% url 'montpellier-voies-commune' slug=object.slug insee=34172 nom_rue='lauragais' %}">{{ site_base_uri }}{% url 'montpellier-voies-commune' slug=object.slug insee=34172 nom_rue='lauragais' %}?q=<i>&lt;street_number&gt;</i></a>
</li>
<li>{% trans 'Listing streets and communes containing specified string in their name:' %}
<a href="{% url 'montpellier-sig-voiecommune' slug=object.slug nom_rue='montp' %}">{{ site_base_uri }}{% url 'montpellier-sig-view' slug=object.slug %}voiecommune/<i>&lt;montp&gt;</i></a>
<a href="{% url 'montpellier-sig-voiecommune' slug=object.slug nom_rue='montp' %}">{{ site_base_uri }}{% url 'montpellier-sig-voiecommune' slug=object.slug nom_rue='montp' %}</a>
</li>
<li>{% trans 'Get address by geographical position:' %}
<a href="{% url 'montpellier-sig-adresse' slug=object.slug %}?lat=43.61&lon=3.87">{{ site_base_uri }}{% url 'montpellier-sig-adresse' slug=object.slug %}?lat=43.61&lon=3.87</a>
@ -46,21 +30,5 @@ Service URL : {{ object.service_url }}
<li>{% trans 'Get quartier and sousquartier by street name and number:' %}
<a href="{% url 'montpellier-sig-district' slug=object.slug insee=34172 nom_rue='ALL ALAIN CORNEAU' numero=66 %}">{{ site_base_uri }}{% url 'montpellier-sig-district' slug=object.slug insee=34172 nom_rue='ALL ALAIN CORNEAU' numero=66 %}</a>
</li>
</ul>
</div>
{% if perms.base.view_accessright %}
<div>
<h3>{% trans "Security" %}</h3>
<p>
{% trans 'Accessing the listings is open, but posting requests is limited to the following API users:' %}
</p>
{% access_rights_table resource=object permission='can_post_request' %}
{% endif %}
</div>
{% endblock %}

View File

@ -6,29 +6,12 @@ from passerelle.urls_utils import decorated_includes, required, app_enabled
from views import *
public_urlpatterns = patterns('',
url(r'^(?P<slug>[\w,-]+)/$', SigDetailView.as_view(), name='montpellier-sig-view'),
urlpatterns = patterns('',
url(r'^(?P<slug>[\w,-]+)/communes$', CommunesView.as_view(), name='montpellier-sig-communes'),
url(r'^(?P<slug>[\w,-]+)/voies/(?P<insee>\d+)$', VoiesView.as_view(), name='montpellier-sig-voies'),
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,-]+)/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,-]+)/viewer/$', ViewerUrlView.as_view(), name='montpellier-sig-viewer'),
)
management_urlpatterns = patterns('',
url(r'^add$', SigCreateView.as_view(), name='montpellier-sig-add'),
url(r'^(?P<slug>[\w,-]+)/edit$', SigUpdateView.as_view(), name='montpellier-sig-edit'),
url(r'^(?P<slug>[\w,-]+)/delete$', SigDeleteView.as_view(), name='montpellier-sig-delete'),
)
urlpatterns = required(
app_enabled('passerelle_montpellier_sig'),
patterns('',
url(r'^montpellier-sig/', include(public_urlpatterns)),
url(r'^manage/montpellier-sig/',
decorated_includes(login_required, include(management_urlpatterns))),
)
)

View File

@ -76,24 +76,6 @@ def split_street(name):
return index, name
class SigCreateView(CreateView):
model = MontpellierSig
form_class = MontpellierSigForm
template_name = 'passerelle/manage/service_form.html'
class SigUpdateView(UpdateView):
model = MontpellierSig
form_class = MontpellierSigForm
class SigDeleteView(DeleteView):
model = MontpellierSig
def get_success_url(self):
return reverse('manage-home')
class SigDetailView(DetailView):
model = MontpellierSig

View File

@ -93,7 +93,7 @@ setup(
'Programming Language :: Python',
'Programming Language :: Python :: 2',
],
install_requires=['django>=1.7, <1.8',
install_requires=['django>=1.7, <1.9',
'pyproj',
'requests'
],