From 9ec9e17c079a2c96667e27e392dd36fc40c1988a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Thu, 9 May 2019 11:25:09 +0200 Subject: [PATCH] also look for collectivity logo without accent (#32928) --- combo_plugin_gnm/__init__.py | 3 +++ combo_plugin_gnm/templatetags/gnm.py | 10 ++++++++++ debian/50gnm.py | 4 ++-- 3 files changed, 15 insertions(+), 2 deletions(-) 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",