feat: Add specific shift date field for multi-day events with date selector in EventEditor and date badge in ShiftMatrix

This commit is contained in:
Richard
2026-07-31 10:52:20 +02:00
parent 67b02f6646
commit 821e14fcab
13 changed files with 104 additions and 62 deletions
+3 -1
View File
@@ -39,13 +39,15 @@ class TaskArea(models.Model):
class Shift(models.Model):
task_area = models.ForeignKey(TaskArea, on_delete=models.CASCADE, related_name='shifts')
title = models.CharField(max_length=150) # e.g., "Frühschicht", "14:00 - 18:00"
date = models.DateField(null=True, blank=True, help_text="Spezifisches Datum für mehrtägige Veranstaltungen")
start_time = models.CharField(max_length=50) # e.g. "14:00" or ISO string
end_time = models.CharField(max_length=50) # e.g. "18:00" or ISO string
max_participants = models.PositiveIntegerField(default=1)
required_skills = models.ManyToManyField(Skill, blank=True, related_name='shifts')
def __str__(self):
return f"{self.task_area.name}: {self.title} ({self.start_time} - {self.end_time})"
date_str = f" ({self.date.strftime('%d.%m.%Y')})" if self.date else ""
return f"{self.task_area.name}: {self.title}{date_str} ({self.start_time} - {self.end_time})"
class ShiftSignup(models.Model):
shift = models.ForeignKey(Shift, on_delete=models.CASCADE, related_name='signups')