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 %}
|
||||
{% table derniers_sujets_rencontres cols=3 cell_template="maraudes/table_cell_derniers_sujets.html" header="Ces derniers temps..." %}
|
||||
{% 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>
|
||||
|
||||
{% 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,
|
||||
Rencontre, Lieu,
|
||||
Planning, )
|
||||
from .notes import Signalement
|
||||
# Forms
|
||||
from .forms import ( RencontreForm,
|
||||
ObservationInlineFormSet,
|
||||
@@ -35,6 +36,31 @@ def derniers_sujets_rencontres():
|
||||
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):
|
||||
|
||||
@@ -58,6 +84,7 @@ class IndexView(NoteFormMixin, MaraudeurMixin, generic.TemplateView):
|
||||
context = super().get_context_data(**kwargs)
|
||||
context['prochaine_maraude'] = Maraude.objects.get_next_of(self.request.user)
|
||||
context['derniers_sujets_rencontres'] = derniers_sujets_rencontres()
|
||||
context['derniers_sujets_signales'] = derniers_sujets_signales()
|
||||
|
||||
if self.request.user.is_superuser:
|
||||
context['missing_cr'] = CompteRendu.objects.get_queryset().filter(
|
||||
|
||||
Reference in New Issue
Block a user