Ort: {{ shift.room.name }} 📍
- Beginn: {{ shift.start_at }}
+ Beginn: {{ shift.start_at }}{% with shift.start_at|night_from_to as night %}{% if night %} ({{ night }}){% endif %}{% endwith %}
Dauer: {{ shift.duration|duration }}
Treffpunkt: {{ shift.room.meeting_location|linebreaksbr }}
Belegung: {{ shift.registration_count }}/{{ shift.required_helpers|default:shift.room.required_helpers }}
diff --git a/shiftregister/app/templatetags/shift_extras.py b/shiftregister/app/templatetags/shift_extras.py
index 1f34c79..46d16d4 100644
--- a/shiftregister/app/templatetags/shift_extras.py
+++ b/shiftregister/app/templatetags/shift_extras.py
@@ -1,4 +1,7 @@
+from datetime import datetime, timedelta
+
from django import template
+from django.utils import timezone
register = template.Library()
@@ -11,3 +14,18 @@ def duration(value):
secs = secs % (hours * 60 * 60)
minutes = secs // 60
return f"{hours}:{minutes:02d}h"
+
+
+@register.filter(name="night_from_to")
+def night_from_to(value):
+ if not isinstance(value, datetime):
+ raise ValueError("value must be a datetime object")
+
+ value = value.astimezone(timezone.get_current_timezone())
+
+ if value.hour < 6:
+ date = value.date()
+ days = ["Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"]
+ return f"{days[(date-timedelta(days=1)).weekday()]}\u2192{days[date.weekday()]}"
+
+ return ""
diff --git a/shiftregister/fallback/templates/my_fallback_shifts.html b/shiftregister/fallback/templates/my_fallback_shifts.html
index 53ddc0e..915dff4 100644
--- a/shiftregister/fallback/templates/my_fallback_shifts.html
+++ b/shiftregister/fallback/templates/my_fallback_shifts.html
@@ -70,7 +70,14 @@ Diese Schichtzuteilung wurde maschinell erstellt und ist auch ohne Unterschrift
{% with assignment.shift as shift %}
{% endif %} Ort: {{ shift.room.name }}
- Beginn: {{ shift.start_at }}
+ Beginn: {{ shift.start_at }}{% with shift.start_at|night_from_to as night %}{% if night %} ({{ night }}){% endif %}{% endwith %}
Dauer: {{ shift.duration }}
{% if shift.event.calendar.restricted %} Nur Team: {{ shift.required_helpers|default:shift.room.required_helpers }} diff --git a/shiftregister/team/templates/room_registrations.html b/shiftregister/team/templates/room_registrations.html index 735a047..ca8a1ca 100644 --- a/shiftregister/team/templates/room_registrations.html +++ b/shiftregister/team/templates/room_registrations.html @@ -1,5 +1,7 @@ {% extends "base.html" %} +{% load shift_extras %} + {% block title %}{{ room.name }}{% endblock %} {% block everything %} @@ -16,7 +18,7 @@ {% for shift in shifts %}