diff --git a/streetup/notifications/models.py b/streetup/notifications/models.py index 7aeda16..d7d43c3 100644 --- a/streetup/notifications/models.py +++ b/streetup/notifications/models.py @@ -376,6 +376,55 @@ class Discussion(models.Model): archived_at__isnull=True, ).count() + @property + def type_info(self): + """Retourne les classes de style, l'icône et le libellé du type d'objet lié.""" + model_name = self.content_type.model.lower() if self.content_type else '' + lbl = (self.object_label or '').lower() + title_low = (self.title or '').lower() + + if model_name == 'intervention' or lbl.startswith('intervention') or title_low.startswith('intervention'): + return { + 'icon': 'bi-tools', + 'bg_class': 'bg-primary-subtle', + 'text_class': 'text-primary', + 'border_class': 'border-primary-subtle', + 'label': _("Intervention"), + } + elif model_name == 'observation' or lbl.startswith('observation') or title_low.startswith('observation'): + return { + 'icon': 'bi-eye-fill', + 'bg_class': 'bg-warning-subtle', + 'text_class': 'text-warning-emphasis', + 'border_class': 'border-warning-subtle', + 'label': _("Observation"), + } + elif model_name == 'preparationorder' or 'préparation' in lbl or 'preparation' in lbl: + return { + 'icon': 'bi-box-seam-fill', + 'bg_class': 'bg-info-subtle', + 'text_class': 'text-info-emphasis', + 'border_class': 'border-info-subtle', + 'label': _("Ordre de préparation"), + } + elif model_name == 'project' or lbl.startswith('projet') or title_low.startswith('projet'): + return { + 'icon': 'bi-kanban-fill', + 'bg_class': 'bg-success-subtle', + 'text_class': 'text-success-emphasis', + 'border_class': 'border-success-subtle', + 'label': _("Projet"), + } + else: + return { + 'icon': 'bi-chat-dots-fill', + 'bg_class': 'bg-indigo-subtle', + 'text_class': 'text-primary', + 'border_class': 'border-primary-subtle', + 'label': _("Générale"), + } + + class Meta: verbose_name = _("Discussion") verbose_name_plural = _("Discussions") diff --git a/streetup/notifications/templates/notifications/discussion_list.html b/streetup/notifications/templates/notifications/discussion_list.html index 9371b0c..c46df05 100644 --- a/streetup/notifications/templates/notifications/discussion_list.html +++ b/streetup/notifications/templates/notifications/discussion_list.html @@ -1,30 +1,63 @@ {% extends "base.html" %} {% load i18n %} {% load static %} +{% load mention_tags %} {% block head %} {% endblock %} @@ -50,64 +83,95 @@ {% if not items %} -