diff --git a/home/models.py b/home/models.py index 786104846abf45b1bb4bb06bcc6dbdb9a6c1a0e1..1d9de42e701c1ff43ca4c911544cf78b77e47265 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 47e0dea358dbd70c012cb28562de2d76bd18c49a..d78ad7cc7921cc4869a9b2e509383dc0eeabf0eb 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 ec7ecc087765ce1a2ffdd282af1f3d91cc88d6b3..f56f51efa8bd40c5484ea54de2754ba8abccc444 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