diff --git a/combo_plugin_gnm/__init__.py b/combo_plugin_gnm/__init__.py index 4524f52..bee5ea9 100644 --- a/combo_plugin_gnm/__init__.py +++ b/combo_plugin_gnm/__init__.py @@ -27,6 +27,9 @@ class AppConfig(django.apps.AppConfig): name = __name__ verbose_name = _('GNM Extension') + def ready(self): + from . import signals + def get_before_urls(self): from . import urls return urls.urlpatterns diff --git a/combo_plugin_gnm/templatetags/gnm.py b/combo_plugin_gnm/templatetags/gnm.py index 05d64ef..29085e4 100644 --- a/combo_plugin_gnm/templatetags/gnm.py +++ b/combo_plugin_gnm/templatetags/gnm.py @@ -401,6 +401,7 @@ def get_tile_picture_size(page): @register.filter def as_producer(slug, default_slug=None): + COLLECTIVITY_UNACCENT_LABELS = {x: slugify(y) for x, y in settings.COLLECTIVITY_LABELS.items()} if isinstance(slug, dict): # actually a form if slug.get('form_digest'): @@ -410,6 +411,10 @@ def as_producer(slug, default_slug=None): if city_name in settings.COLLECTIVITY_LABELS.values(): collectivity = [x for x in settings.COLLECTIVITY_LABELS.items() if x[1] == city_name][0] return {'slug': collectivity[0], 'label': collectivity[1]} + city_slug = slugify(city_name) + if city_slug in COLLECTIVITY_UNACCENT_LABELS.values(): + collectivity = [x for x in settings.COLLECTIVITY_UNACCENT_LABELS.items() if x[1] == city_slug][0] + return {'slug': collectivity[0], 'label': collectivity[1]} for keyword in slug.get('keywords') or []: if keyword.startswith('producer-'): @@ -444,6 +449,8 @@ def as_producer(slug, default_slug=None): if producer.startswith('Lyon '): # assume sth like "Lyon 7eme" producer = 'Lyon' + procuder_slug = slugify(producer) + if settings.KNOWN_SERVICES['hobo'].get('hobo-%s' % producer): return {'slug': producer, 'label': settings.KNOWN_SERVICES['hobo'].get('hobo-%s' % producer, {'title': ''})['title']} @@ -455,6 +462,9 @@ def as_producer(slug, default_slug=None): elif producer in settings.COLLECTIVITY_LABELS.values(): collectivity = [x for x in settings.COLLECTIVITY_LABELS.items() if x[1] == producer][0] return {'slug': collectivity[0], 'label': collectivity[1]} + elif procuder_slug in COLLECTIVITY_UNACCENT_LABELS.values(): + collectivity = [x for x in settings.COLLECTIVITY_UNACCENT_LABELS.items() if x[1] == producer_slug][0] + return {'slug': collectivity[0], 'label': collectivity[1]} elif default_slug: return as_producer(default_slug) else: diff --git a/debian/50gnm.py b/debian/50gnm.py index a83f4a9..a481710 100644 --- a/debian/50gnm.py +++ b/debian/50gnm.py @@ -375,7 +375,7 @@ COLLECTIVITY_LABELS = { "curis-au-mont-d-or": u"Curis-au-Mont-d'Or", "dardilly": u"Dardilly", "decines-charpieu": u"Décines-Charpieu", - "ecully": u"Ecully", + "ecully": u"Écully", "feyzin": u"Feyzin", "fleurieu-sur-saone": u"Fleurieu-sur-Saône", "fontaines-saint-martin": u"Fontaines-Saint-Martin", @@ -409,7 +409,7 @@ COLLECTIVITY_LABELS = { "saint-genis-les-ollieres": u"Saint-Genis-les-Ollières", "saint-germain-au-mont-d-or": u"Saint-Germain-au-Mont-d'Or", "saint-priest": u"Saint-Priest", - "sainte-foy-les-lyon": u"Sainte-Foy-les-Lyon", + "sainte-foy-les-lyon": u"Sainte-Foy-lès-Lyon", "sathonay-camp": u"Sathonay-Camp", "sathonay-village": u"Sathonay-Village", "solaize": u"Solaize",