79 lines
2.8 KiB
Python
79 lines
2.8 KiB
Python
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)
|
|
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})
|
|
|