From 67f7ed9287861aab19e30e525246c6df96d136dc Mon Sep 17 00:00:00 2001 From: Jean-Marie Favreau Date: Wed, 6 Nov 2024 13:01:47 +0100 Subject: [PATCH] On interdit les "/" dans les tags Fix #186 --- src/agenda_culturel/models.py | 5 +++++ .../agenda_culturel/single-event/event-elegant-inc.html | 2 +- .../single-event/event-in-flat-list-inc.html | 3 ++- .../single-event/event-in-list-by-day-inc.html | 2 +- .../agenda_culturel/single-event/event-in-list-inc.html | 2 +- .../single-event/event-in-unknown-place-list-inc.html | 3 ++- .../agenda_culturel/single-event/event-single-inc.html | 2 +- src/agenda_culturel/templates/agenda_culturel/tags.html | 4 ++-- src/agenda_culturel/templatetags/tag_extra.py | 6 +++++- 9 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/agenda_culturel/models.py b/src/agenda_culturel/models.py index 14b09e4..a722dac 100644 --- a/src/agenda_culturel/models.py +++ b/src/agenda_culturel/models.py @@ -798,6 +798,11 @@ class Event(models.Model): if self.image and not self.local_image: self.download_image() + # remove "/" from tags + if self.tags: + self.tags = [t.replace('/', '-') for t in self.tags] + + # in case of importation process if self.is_in_importation_process(): # try to detect location if not self.exact_location: diff --git a/src/agenda_culturel/templates/agenda_culturel/single-event/event-elegant-inc.html b/src/agenda_culturel/templates/agenda_culturel/single-event/event-elegant-inc.html index 50c51bd..b1ccd75 100644 --- a/src/agenda_culturel/templates/agenda_culturel/single-event/event-elegant-inc.html +++ b/src/agenda_culturel/templates/agenda_culturel/single-event/event-elegant-inc.html @@ -56,7 +56,7 @@

{% for tag in event.tags %} - {{ tag }} + {{ tag }} {% endfor %}

diff --git a/src/agenda_culturel/templates/agenda_culturel/single-event/event-in-flat-list-inc.html b/src/agenda_culturel/templates/agenda_culturel/single-event/event-in-flat-list-inc.html index 1f78d4a..16ec295 100644 --- a/src/agenda_culturel/templates/agenda_culturel/single-event/event-in-flat-list-inc.html +++ b/src/agenda_culturel/templates/agenda_culturel/single-event/event-in-flat-list-inc.html @@ -1,5 +1,6 @@ {% load utils_extra %} {% load cat_extra %} +{% load tag_extra %} {% load event_extra %}
{{ event.category | small_cat_recurrent:event.has_recurrences }} @@ -35,7 +36,7 @@ diff --git a/src/agenda_culturel/templates/agenda_culturel/single-event/event-in-list-by-day-inc.html b/src/agenda_culturel/templates/agenda_culturel/single-event/event-in-list-by-day-inc.html index 0849f6d..5c93433 100644 --- a/src/agenda_culturel/templates/agenda_culturel/single-event/event-in-list-by-day-inc.html +++ b/src/agenda_culturel/templates/agenda_culturel/single-event/event-in-list-by-day-inc.html @@ -56,7 +56,7 @@

{% for tag in event.tags %} - {{ tag }} + {{ tag }} {% endfor %}

diff --git a/src/agenda_culturel/templates/agenda_culturel/single-event/event-in-list-inc.html b/src/agenda_culturel/templates/agenda_culturel/single-event/event-in-list-inc.html index 188bfae..fe370c0 100644 --- a/src/agenda_culturel/templates/agenda_culturel/single-event/event-in-list-inc.html +++ b/src/agenda_culturel/templates/agenda_culturel/single-event/event-in-list-inc.html @@ -42,7 +42,7 @@

{% for tag in event.tags %} - {{ tag }} + {{ tag }} {% endfor %}

diff --git a/src/agenda_culturel/templates/agenda_culturel/single-event/event-in-unknown-place-list-inc.html b/src/agenda_culturel/templates/agenda_culturel/single-event/event-in-unknown-place-list-inc.html index 852a1b4..b08a304 100644 --- a/src/agenda_culturel/templates/agenda_culturel/single-event/event-in-unknown-place-list-inc.html +++ b/src/agenda_culturel/templates/agenda_culturel/single-event/event-in-unknown-place-list-inc.html @@ -1,6 +1,7 @@ {% load utils_extra %} {% load cat_extra %} {% load event_extra %} +{% load tag_extra %}
@@ -36,7 +37,7 @@

{% picto_from_name "tag" %} {% for tag in event.tags %} - {{ tag }} + {{ tag }} {% if not forloop.last %}, {% endif %} {% endfor %}

diff --git a/src/agenda_culturel/templates/agenda_culturel/single-event/event-single-inc.html b/src/agenda_culturel/templates/agenda_culturel/single-event/event-single-inc.html index 01f1a80..71e903b 100644 --- a/src/agenda_culturel/templates/agenda_culturel/single-event/event-single-inc.html +++ b/src/agenda_culturel/templates/agenda_culturel/single-event/event-single-inc.html @@ -51,7 +51,7 @@

{% for tag in event.tags %} - {{ tag }} + {{ tag }} {% endfor %}

diff --git a/src/agenda_culturel/templates/agenda_culturel/tags.html b/src/agenda_culturel/templates/agenda_culturel/tags.html index 099452c..b9f16b5 100644 --- a/src/agenda_culturel/templates/agenda_culturel/tags.html +++ b/src/agenda_culturel/templates/agenda_culturel/tags.html @@ -26,7 +26,7 @@ {% for tag in tags %}
-
{{ tag.name }}
+
{{ tag.name }}
{{ tag.description|safe }}

{% if tag.category %}Cette étiquette est une sous-catégorie de {{ tag.category| small_cat:tag.category.get_absolute_url }}{% endif %}

@@ -43,7 +43,7 @@
{% for tag in other_tags %} {% if tag|tag_not_in_db:tags %} - {{ tag }} + {{ tag }} {% endif %} {% endfor %}
diff --git a/src/agenda_culturel/templatetags/tag_extra.py b/src/agenda_culturel/templatetags/tag_extra.py index 1128b9d..83115fc 100644 --- a/src/agenda_culturel/templatetags/tag_extra.py +++ b/src/agenda_culturel/templatetags/tag_extra.py @@ -34,7 +34,7 @@ def t_button(tag, url, strike=False, category=None): @register.filter def tag_button(tag, link=False, strike=False): - return t_button(tag, reverse_lazy("view_tag", kwargs={"t": tag}) if link else None, strike) + return t_button(tag, reverse_lazy("view_tag", kwargs={"t": tag.replace('/', '-')}) if link else None, strike) @register.filter @@ -65,3 +65,7 @@ def show_suggested_tags(filter): result += ' ' + t_button(t.name, filter.get_url_add_tag(t.name, t.category), category=t.category) return mark_safe(result) + +@register.filter +def prepare_tag(tag): + return tag.replace('/', '-') \ No newline at end of file