Ajout de l'affichage des derniers sujets signalés, sur le modèle des derniers sujets rencontrés
This commit is contained in:
@@ -26,6 +26,9 @@
|
|||||||
{% if derniers_sujets_rencontres %}
|
{% if derniers_sujets_rencontres %}
|
||||||
{% table derniers_sujets_rencontres cols=3 cell_template="maraudes/table_cell_derniers_sujets.html" header="Ces derniers temps..." %}
|
{% table derniers_sujets_rencontres cols=3 cell_template="maraudes/table_cell_derniers_sujets.html" header="Ces derniers temps..." %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% if derniers_sujets_signales %}
|
||||||
|
{% table derniers_sujets_signales cols=3 cell_template="maraudes/table_cell_derniers_signalements.html" header="Signalements récents" %}
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if user.is_superuser and missing_cr %}
|
{% if user.is_superuser and missing_cr %}
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
<a href="{% url "notes:details-sujet" object.sujet.pk %}">{{ object.sujet }}</a>
|
||||||
@@ -17,6 +17,7 @@ from .models import ( Maraude, Maraudeur,
|
|||||||
CompteRendu,
|
CompteRendu,
|
||||||
Rencontre, Lieu,
|
Rencontre, Lieu,
|
||||||
Planning, )
|
Planning, )
|
||||||
|
from .notes import Signalement
|
||||||
# Forms
|
# Forms
|
||||||
from .forms import ( RencontreForm,
|
from .forms import ( RencontreForm,
|
||||||
ObservationInlineFormSet,
|
ObservationInlineFormSet,
|
||||||
@@ -35,6 +36,31 @@ def derniers_sujets_rencontres():
|
|||||||
return list(sujets)
|
return list(sujets)
|
||||||
|
|
||||||
|
|
||||||
|
def derniers_sujets_signales():
|
||||||
|
def recent_filter(qs):
|
||||||
|
NUMBER_OF_MONTH_BACKWARDS = 1 # Must be lower than 12 !
|
||||||
|
|
||||||
|
current_date = timezone.localtime(timezone.now()).date()
|
||||||
|
recent_dates = [(current_date.month, current_date.year)]
|
||||||
|
|
||||||
|
for i in range(1, NUMBER_OF_MONTH_BACKWARDS + 1):
|
||||||
|
prev_month, prev_year = current_date.month - i, current_date.year
|
||||||
|
if prev_month <= 0:
|
||||||
|
prev_month += 12
|
||||||
|
prev_year -= 1
|
||||||
|
recent_dates.append(
|
||||||
|
(prev_month, prev_year)
|
||||||
|
)
|
||||||
|
|
||||||
|
# Select recent ones
|
||||||
|
filtered = []
|
||||||
|
for month, year in recent_dates:
|
||||||
|
filtered += list(qs.filter(created_date__year=year, created_date__month=month))
|
||||||
|
|
||||||
|
return filtered
|
||||||
|
|
||||||
|
return recent_filter(Signalement.objects.all())
|
||||||
|
|
||||||
|
|
||||||
class IndexView(NoteFormMixin, MaraudeurMixin, generic.TemplateView):
|
class IndexView(NoteFormMixin, MaraudeurMixin, generic.TemplateView):
|
||||||
|
|
||||||
@@ -58,6 +84,7 @@ class IndexView(NoteFormMixin, MaraudeurMixin, generic.TemplateView):
|
|||||||
context = super().get_context_data(**kwargs)
|
context = super().get_context_data(**kwargs)
|
||||||
context['prochaine_maraude'] = Maraude.objects.get_next_of(self.request.user)
|
context['prochaine_maraude'] = Maraude.objects.get_next_of(self.request.user)
|
||||||
context['derniers_sujets_rencontres'] = derniers_sujets_rencontres()
|
context['derniers_sujets_rencontres'] = derniers_sujets_rencontres()
|
||||||
|
context['derniers_sujets_signales'] = derniers_sujets_signales()
|
||||||
|
|
||||||
if self.request.user.is_superuser:
|
if self.request.user.is_superuser:
|
||||||
context['missing_cr'] = CompteRendu.objects.get_queryset().filter(
|
context['missing_cr'] = CompteRendu.objects.get_queryset().filter(
|
||||||
|
|||||||
Reference in New Issue
Block a user