From 594cc292603625025149b99d5d88b15731b31264 Mon Sep 17 00:00:00 2001 From: Nils Steinger <git@n-st.de> Date: Sun, 8 Nov 2020 01:37:52 +0100 Subject: [PATCH 1/4] Show AK start and end, not just start --- AKModel/models.py | 9 +++++++++ AKSubmission/templates/AKSubmission/ak_detail.html | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/AKModel/models.py b/AKModel/models.py index e581f00d..8eae767a 100644 --- a/AKModel/models.py +++ b/AKModel/models.py @@ -345,6 +345,15 @@ class AKSlot(models.Model): return _("Not scheduled yet") return self.start.astimezone(self.event.timezone).strftime('%a %H:%M') + @property + def time_simplified(self): + """ + Display start and end time of slot in format weekday + time, e.g. "Fri 14:00 - 15:30" + """ + if self.start is None: + return _("Not scheduled yet") + return self.start.astimezone(self.event.timezone).strftime('%a %H:%M') + ' - ' + self.end.astimezone(self.event.timezone).strftime('%H:%M') + @property def end(self): """ diff --git a/AKSubmission/templates/AKSubmission/ak_detail.html b/AKSubmission/templates/AKSubmission/ak_detail.html index e45444b9..bb8886fc 100644 --- a/AKSubmission/templates/AKSubmission/ak_detail.html +++ b/AKSubmission/templates/AKSubmission/ak_detail.html @@ -187,7 +187,7 @@ <tr> <td>{{ slot.duration }}</td> {% if not ak.event.plan_hidden or user.is_staff %} - <td>{{ slot.start_simplified }}</td> + <td>{{ slot.time_simplified }}</td> <td> {% if "AKPlan"|check_app_installed and slot.room %} <a href="{% url 'plan:plan_room' event_slug=ak.event.slug pk=slot.room.pk %}">{{ slot.room }}</a> -- GitLab From 79b07e1665f925e63205047a0b2d79c0fd4192d0 Mon Sep 17 00:00:00 2001 From: Nils Steinger <git@n-st.de> Date: Sun, 8 Nov 2020 01:43:15 +0100 Subject: [PATCH 2/4] Handle AK timeslots that run past midnight --- AKModel/models.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/AKModel/models.py b/AKModel/models.py index 8eae767a..ff005a7a 100644 --- a/AKModel/models.py +++ b/AKModel/models.py @@ -348,11 +348,17 @@ class AKSlot(models.Model): @property def time_simplified(self): """ - Display start and end time of slot in format weekday + time, e.g. "Fri 14:00 - 15:30" + Display start and end time of slot in format weekday + time, e.g. "Fri 14:00 - 15:30" or "Fri 22:00 - Sat 02:00" """ if self.start is None: return _("Not scheduled yet") - return self.start.astimezone(self.event.timezone).strftime('%a %H:%M') + ' - ' + self.end.astimezone(self.event.timezone).strftime('%H:%M') + result = self.start.astimezone(self.event.timezone).strftime('%a %H:%M') + result += ' - ' + if self.start.astimezone(self.event.timezone).day == self.end.astimezone(self.event.timezone).day: + result += self.end.astimezone(self.event.timezone).strftime('%H:%M') + else: + result += self.end.astimezone(self.event.timezone).strftime('%a %H:%M') + return result @property def end(self): -- GitLab From ef9c473db34d91576dd8177efc5328de55b8e610 Mon Sep 17 00:00:00 2001 From: Nils Steinger <git@n-st.de> Date: Sun, 8 Nov 2020 01:55:15 +0100 Subject: [PATCH 3/4] Show AK duration in time-like format, not decimal format --- AKModel/models.py | 9 +++++++++ AKSubmission/templates/AKSubmission/ak_detail.html | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/AKModel/models.py b/AKModel/models.py index ff005a7a..a6254aaa 100644 --- a/AKModel/models.py +++ b/AKModel/models.py @@ -336,6 +336,15 @@ class AKSlot(models.Model): return f"{self.ak} @ {self.start_simplified} in {self.room}" return f"{self.ak} @ {self.start_simplified}" + @property + def duration_simplified(self): + """ + Display duration of slot in format hours:minutes, e.g. 1.5 -> "1:30" + """ + hours = int(self.duration) + minutes = (self.duration * 60) % 60 + return '%d:%02d' % (hours, minutes) + @property def start_simplified(self): """ diff --git a/AKSubmission/templates/AKSubmission/ak_detail.html b/AKSubmission/templates/AKSubmission/ak_detail.html index bb8886fc..6224ee8c 100644 --- a/AKSubmission/templates/AKSubmission/ak_detail.html +++ b/AKSubmission/templates/AKSubmission/ak_detail.html @@ -185,7 +185,7 @@ <tbody> {% for slot in ak.akslot_set.all %} <tr> - <td>{{ slot.duration }}</td> + <td>{{ slot.duration_simplified }}</td> {% if not ak.event.plan_hidden or user.is_staff %} <td>{{ slot.time_simplified }}</td> <td> -- GitLab From eddf9aa5fc49dd53f4c37609151c9c8268076bdd Mon Sep 17 00:00:00 2001 From: Nils Steinger <git@n-st.de> Date: Sun, 8 Nov 2020 01:58:32 +0100 Subject: [PATCH 4/4] Reorder AK timeslot columns: Display actual time first --- AKSubmission/templates/AKSubmission/ak_detail.html | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/AKSubmission/templates/AKSubmission/ak_detail.html b/AKSubmission/templates/AKSubmission/ak_detail.html index 6224ee8c..d9d661ff 100644 --- a/AKSubmission/templates/AKSubmission/ak_detail.html +++ b/AKSubmission/templates/AKSubmission/ak_detail.html @@ -174,9 +174,11 @@ <table class="table"> <thead> <tr> - <th>{% trans "Duration" %}</th> {% if not ak.event.plan_hidden or user.is_staff %} <th>{% trans "When?" %}</th> + {% endif %} + <th>{% trans "Duration" %}</th> + {% if not ak.event.plan_hidden or user.is_staff %} <th>{% trans "Room" %}</th> {% endif %} <th></th> @@ -185,9 +187,11 @@ <tbody> {% for slot in ak.akslot_set.all %} <tr> - <td>{{ slot.duration_simplified }}</td> {% if not ak.event.plan_hidden or user.is_staff %} <td>{{ slot.time_simplified }}</td> + {% endif %} + <td>{{ slot.duration_simplified }}</td> + {% if not ak.event.plan_hidden or user.is_staff %} <td> {% if "AKPlan"|check_app_installed and slot.room %} <a href="{% url 'plan:plan_room' event_slug=ak.event.slug pk=slot.room.pk %}">{{ slot.room }}</a> -- GitLab