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