from django.db import models from users.models import Agency, AgencyGroup from django.urls import reverse from colorful.fields import RGBColorField from django.contrib.auth.models import User import datetime ''' Model Quicklinks 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 QuickLinks(models.Model): agency = models.ForeignKey(Agency, on_delete=models.CASCADE) name = models.CharField(max_length=200, blank=False) link = models.CharField(max_length=200, blank=False) logo = models.ImageField(default='agencymain/linkdefault.png', upload_to='agencymain', blank=True) def __str__(self): return f'{self.name}' def get_absolute_url(self): return reverse('ql-update', kwargs={'pk':self.pk}) @property def get_photo_url(self): if self.logo and hasattr(self.logo, 'url'): return self.logo.url else: return "/media/agencymain/linkdefault.png" class AGContactsCagetory(models.Model): agency = models.ForeignKey(Agency, on_delete=models.CASCADE) name = models.CharField(default="", max_length=200, blank=False) def __str__(self): return f'{self.name}' class AGContacts(models.Model): agency = models.ForeignKey(Agency, on_delete=models.CASCADE) personname = models.CharField(default="", max_length=200, blank=False) function = models.CharField(default="", max_length=200, blank=False) name = models.CharField(default="", max_length=200, blank=False) mail = models.CharField(default="", max_length=200, blank=False) phone1 = models.CharField(default="", max_length=200, blank=False) phone2 = models.CharField(default="", max_length=200, blank=False) street = models.CharField(default="", max_length=200, blank=True) city = models.CharField(default="", max_length=200, blank=True) plz = models.CharField(default="", max_length=5, blank=True) desc = models.TextField(max_length=3000, blank=True) category = models.ForeignKey("AGContactsCagetory", default=None, on_delete=models.SET_DEFAULT, null=True, blank=True) def __str__(self): return f'{self.name}' def get_absolute_url(self): return reverse('cont-update', kwargs={'pk':self.pk}) class AGPassword(models.Model): agency = models.ForeignKey(Agency, on_delete=models.CASCADE) name = models.CharField(default="", max_length=200, blank=False) agpass_username = models.CharField(default="", max_length=200, blank=False) compass = models.CharField(default="", max_length=200, blank=False) link = models.CharField(default="", max_length=200, blank=False) visibleby = models.ManyToManyField(AgencyGroup, blank=True) def __str__(self): return f'{self.name}' def get_absolute_url(self): return reverse('aggpass-update', kwargs={'pk':self.pk})