diff --git a/diario/views.py b/diario/views.py index 59d01d5..266d492 100644 --- a/diario/views.py +++ b/diario/views.py @@ -527,11 +527,24 @@ def persona_dettaglio(request, pk): caricato_da=persona ).select_related('conversazione', 'obiettivo').order_by('-data_caricamento')[:20] + # Menzioni: commenti e aggiornamenti dove @username appare nel testo + mention_pattern = f'@{persona.username}' + menzioni_commenti = CommentoConversazione.objects.filter( + testo__icontains=mention_pattern + ).select_related('autore', 'conversazione').order_by('-data')[:20] + + menzioni_aggiornamenti = AggiornamentoObiettivo.objects.filter( + testo__icontains=mention_pattern + ).select_related('autore', 'obiettivo').order_by('-data')[:20] + return render(request, 'diario/persone/dettaglio.html', { 'persona': persona, 'conversazioni': conversazioni, 'obiettivi': obiettivi, 'documenti': documenti, + 'menzioni_commenti': menzioni_commenti, + 'menzioni_aggiornamenti': menzioni_aggiornamenti, + 'totale_menzioni': len(menzioni_commenti) + len(menzioni_aggiornamenti), }) diff --git a/templates/diario/persone/dettaglio.html b/templates/diario/persone/dettaglio.html index 089317d..0b9a58a 100644 --- a/templates/diario/persone/dettaglio.html +++ b/templates/diario/persone/dettaglio.html @@ -1,4 +1,5 @@ {% extends "diario/base.html" %} +{% load custom_filters %} {% block title %}{{ persona.get_full_name|default:persona.username }}{% endblock %} {% block content %} @@ -33,6 +34,11 @@ Documenti {{ documenti|length }} +
Nessun documento.
{{ c.testo|render_mentions|truncatewords:30 }}
+{{ a.testo|render_mentions|truncatewords:30 }}
+Nessuna menzione trovata.