From c4ed770850ce548f9b8e4a7f920bfb5c59482bf4 Mon Sep 17 00:00:00 2001 From: Dorian Lesbre <dorian.lesbre@gmail.com> Date: Sun, 21 Mar 2021 15:57:54 +0100 Subject: [PATCH] =?UTF-8?q?Affichage=20du=20status=20distanciel/pr=C3=A9se?= =?UTF-8?q?ntiel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- home/models.py | 9 ++++++++- home/templates/admin.html | 12 ++++++++++++ home/views.py | 4 ++++ 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/home/models.py b/home/models.py index 7861048..1d9de42 100644 --- a/home/models.py +++ b/home/models.py @@ -84,7 +84,14 @@ class InterludesActivity(models.Model): @property def pretty_type(self) -> str: - return self.Types(self.act_type).label + type = self.Types(self.act_type).label + status = self.Status(self.status) + status_repr = "présentiel ou distanciel" + if status == self.Status.DISTANT: + status_repr = "distanciel" + elif status == self.Status.PRESENT: + status_repr = "présentiel" + return "{} ({})".format(type, status_repr) def conflicts(self, other: "InterludesActivity") -> bool: """Check whether these activites overlap""" diff --git a/home/templates/admin.html b/home/templates/admin.html index 47e0dea..d78ad7c 100644 --- a/home/templates/admin.html +++ b/home/templates/admin.html @@ -112,6 +112,18 @@ <div class="qty">Obtenus</div> <div class="nb_small">{{ metrics.granted }}</div> </div> + <div class="stat"> + <div class="qty">Présentiel</div> + <div class="nb_small">{{ metrics.st_present }}</div> + </div> + <div class="stat"> + <div class="qty">Distanciel</div> + <div class="nb_small">{{ metrics.st_distant }}</div> + </div> + <div class="stat"> + <div class="qty">Les deux</div> + <div class="nb_small">{{ metrics.st_both }}</div> + </div> </div> <h2>Répartition des activités</h2> diff --git a/home/views.py b/home/views.py index ec7ecc0..f56f51e 100644 --- a/home/views.py +++ b/home/views.py @@ -167,6 +167,10 @@ class AdminView(SuperuserRequiredMixin, TemplateView): wish = wishes.count() granted = wishes.filter(accepted=True).count() + st_present = acts.filter(status=InterludesActivity.Status.PRESENT).count() + st_distant = acts.filter(status=InterludesActivity.Status.DISTANT).count() + st_both = acts.filter(status=InterludesActivity.Status.BOTH).count() + # validation de la repartition des activités accepted = wishes.filter(accepted=True) # order_by is useless but required -- GitLab