+ {% if tag.obj %}
+ {% if not tag.obj.description|html_vide %}{{ tag.obj.description|safe }}{% endif %}
+ {% if tag.obj.category or tag.obj.principal or tag.obj.in_included_suggestions or tag.obj.in_excluded_suggestions %}
+
+ {% if tag.obj.category %}
+
Cette étiquette est une sous-catégorie de {{ tag.obj.category| small_cat:tag.obj.category.get_absolute_url }}
+ {% endif %}
+ {% if tag.obj.principal %}
+
Cette étiquette est mise en avant parmi les étiquettes principales.
+ {% endif %}
+ {% if tag.obj.in_included_suggestions %}
+
Cette étiquette fait partie des étiquettes suggérées à inclure.
+ {% endif %}
+ {% if tag.obj.in_excluded_suggestions %}
+
Cette étiquette fait partie des étiquettes suggérées à exclure.
+ {% endif %}
+
+ {% endif %}
+ {% else %}
+
-
+ {% endif %}
+
-
{% endfor %}
{% else %}
-
Il n'y a aucune étiquette disposant d'une description.
+
Il n'y a aucune étiquette.
{% endif %}
-
{% endcache %}
diff --git a/src/agenda_culturel/templatetags/utils_extra.py b/src/agenda_culturel/templatetags/utils_extra.py
index 88a5109..105fa5c 100644
--- a/src/agenda_culturel/templatetags/utils_extra.py
+++ b/src/agenda_culturel/templatetags/utils_extra.py
@@ -8,6 +8,7 @@ from dateutil.relativedelta import relativedelta
from django.urls import reverse_lazy
from django.templatetags.static import static
from string import ascii_uppercase as auc
+from django.utils.html import strip_tags
register = template.Library()
@@ -126,4 +127,13 @@ def tocoords(c):
@register.filter
def index(indexable, i):
- return indexable[i]
\ No newline at end of file
+ return indexable[i]
+
+@register.filter
+def is_string(val):
+ return isinstance(val, str)
+
+@register.filter
+def html_vide(val):
+ return len(strip_tags(val).replace(" ", "").strip()) == 0
+
diff --git a/src/agenda_culturel/views.py b/src/agenda_culturel/views.py
index de732e3..0a48594 100644
--- a/src/agenda_culturel/views.py
+++ b/src/agenda_culturel/views.py
@@ -1872,8 +1872,13 @@ def view_tag(request, t):
def tag_list(request):
- tags = [t["tag"] for t in Event.get_all_tags()]
+ tags = Event.get_all_tags()
objects = Tag.objects.order_by("name").all()
- context = {"other_tags": sorted(tags, key=lambda x: remove_accents(x).lower()),
- "tags": objects}
+ d_objects = dict()
+ for o in objects:
+ d_objects[o.name] = o
+
+ tags = [t | {'obj': d_objects[t["tag"]]} if t["tag"] in d_objects else t for t in tags]
+
+ context = {"tags": sorted(tags, key=lambda x: remove_accents(x["tag"]).lower())}
return render(request, "agenda_culturel/tags.html", context)
\ No newline at end of file