models.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. from django.db import models
  2. from django.utils.translation import gettext_lazy as _
  3. # Create your models here.
  4. class Employee(models.Model):
  5. name = models.CharField(max_length=100)
  6. daily_workhours = models.PositiveIntegerField()
  7. info = models.TextField(blank=True, null=True)
  8. def __str__(self):
  9. return self.name
  10. class Shift(models.Model):
  11. class ShiftType(models.TextChoices):
  12. NONE = 'N', _('None') # Placeholder for "None" if you're using it
  13. VACATION = 'U', _('Urlaub')
  14. CATERING = 'C', _('Catering')
  15. SICK = 'K', _('Krank')
  16. RB = 'RB', _('Rufbereitschaft')
  17. SD = 'SO', _('Sonderdienst')
  18. KK = 'KKH', _('KKH')
  19. ST = 'ST', _('Stapler')
  20. AH = 'AH', _('Ausser Haus')
  21. date = models.DateField()
  22. start = models.TimeField(null=True, blank=True)
  23. end = models.TimeField(null=True, blank=True)
  24. shifttype = models.CharField(
  25. max_length=3,
  26. choices=ShiftType.choices,
  27. default=ShiftType.NONE,
  28. null=True,
  29. )
  30. employee = models.ForeignKey(Employee, on_delete=models.CASCADE)
  31. def __str__(self):
  32. return f"{self.date} - {self.get_shifttype_display()}"