from django.db import models from users.models import Agency from django.urls import reverse from colorful.fields import RGBColorField from django.contrib.auth.models import User import datetime ''' Model Areas Verwaltet alle gespeicherten Bereiche für die Agentur. Wird eine neue erstellt, wird dieser die Agency zugewiesen. Das Farb-Feld ist für später, damit im Ogranigramm eine Farbe für den jeweiligen Bereich festgelegt wird. users speichert alle primary-Keys der User, welche diesem Bereich zugeordnet sind! ''' class Areas(models.Model): # Wenn die Area gelöscht wird, wird NICHT die Agency gelöscht agency = models.ForeignKey(Agency, on_delete=models.PROTECT) name = models.CharField(max_length=200, blank=False) color = RGBColorField(colors=['#FFB900', '#E74856', '#0078D7', '#0099BC', '#7A7574'], default='#0099BC', blank=True) desc = models.TextField(max_length=3000, blank=True) usersfield = models.ManyToManyField(User, blank=True, related_name='users_in_area') created_area_by = models.ForeignKey(User, on_delete=models.PROTECT) created_area_date = models.DateField(default=datetime.date.today, blank=True) visible = models.BooleanField(default=True) def __str__(self): return f'{self.name}' # Hier Path für Templates des Models mit Parametern def get_absolute_url(self): return reverse('areas-update', kwargs={'pk':self.pk})