diff --git a/home/admin.py b/home/admin.py index 0d9b2607bca160f287b06f121cf9b5f3981b0bf1..cd9858c26c22a5d6d736a1452ac044514ec244c2 100644 --- a/home/admin.py +++ b/home/admin.py @@ -54,7 +54,7 @@ class ActivityListAdmin(ExportCsvMixin, admin.ModelAdmin): list_display = ("activity", "participant", "priority", "accepted") list_filter = ( "activity", "participant__is_registered", "activity__display", - "accepted", "activity__must_subscribe", + "accepted", "activity__subscribing_open", ) list_editable = ("accepted",) ordering = ("activity", "priority", "participant",) diff --git a/home/templates/admin.html b/home/templates/admin.html index 2ce70f3e5df0a2c2dabc3a301740024b70920314..6335a12a8ea4a62aebf5617c8f41aa1ade1e0981 100644 --- a/home/templates/admin.html +++ b/home/templates/admin.html @@ -139,6 +139,10 @@ <div class="qty">Obtenus</div> <div class="nb_small">{{ metrics.granted }}</div> </div> + <div class="stat"> + <div class="qty">Malformé</div> + <div class="nb_small">{{ metrics.malformed }}</div> + </div> </div> <p>*Le nombre d'activité "inscription" est le nombre d'activités affichée (dans la liste de la page @@ -147,6 +151,12 @@ apparaître plusieures fois) </p> + {% if metrics.malformed %} + <ul class="messagelist"><li class="error"> + Des activités non ouvertes aux inscriptions apparaissent dans les listes de souhait. + </li></ul> + {% endif %} + <h2>Répartition des activités</h2> <p>La répartition se fait depuis la <a href="{% url 'admin:index' %}">page d'administration de django</a>, diff --git a/home/views.py b/home/views.py index 395b3a2acec6e075c3dbf226f6d6f18a85ea1482..3facc96c516de6c98ef5f36d3408c41fef323409 100644 --- a/home/views.py +++ b/home/views.py @@ -155,6 +155,8 @@ class AdminView(SuperuserRequiredMixin, TemplateView): rennes = registered.filter(school="R").count() saclay = registered.filter(school="P").count() non_registered = EmailUser.objects.filter(is_active=True).count() - participants + # mugs = registered.filter(mug=True).count() + sleeps = registered.filter(sleeps=True).count() meal1 = registered.filter(meal_friday_evening=True).count() meal2 = registered.filter(meal_saturday_morning=True).count() @@ -164,21 +166,19 @@ class AdminView(SuperuserRequiredMixin, TemplateView): meal6 = registered.filter(meal_sunday_midday=True).count() meals = meal1 + meal2 + meal3 + meal4 + meal5 + meal6 - # mugs = registered.filter(mug=True).count() - sleeps = registered.filter(sleeps=True).count() - activites = acts.count() displayed = acts.filter(display=True).count() planning = acts.filter(on_planning=True).count() act_ins = acts.filter(display=True, must_subscribe=True).count() - true_ins = acts.filter(subscribing_open=True).count() - wish = wishes.count() - granted = wishes.filter(accepted=True).count() - st_present = acts.filter(display=True, status=InterludesActivity.Status.PRESENT).count() st_distant = acts.filter(display=True, status=InterludesActivity.Status.DISTANT).count() st_both = acts.filter(display=True, status=InterludesActivity.Status.BOTH).count() + true_ins = acts.filter(subscribing_open=True).count() + wish = wishes.count() + granted = wishes.filter(accepted=True).count() + malformed = ActivityList.objects.filter(activity__subscribing_open=False).count() + # validation de la repartition des activités accepted = wishes.filter(accepted=True) # order_by is useless but required