from django.db import models from django.contrib.auth.models import User from users.models import Agency from django.urls import reverse from areas.models import Areas from tasks.models import Tasks from cloud.models import DataFile from users.models import AgencyGroup import datetime from django.utils import timezone #from ckeditor_uploader.fields import RichTextUploadingField class Standards(models.Model): agency = models.ForeignKey(Agency, on_delete=models.CASCADE) area = models.ForeignKey(Areas, on_delete=models.CASCADE) task = models.ForeignKey(Tasks, on_delete=models.CASCADE) name = models.CharField(max_length=200, blank=False, default="") content = models.TextField(blank=True, verbose_name='Inhalt', default="") created_standard_by = models.ForeignKey(User, on_delete=models.PROTECT) created_standard_date = models.DateTimeField(default=timezone.now, blank=True) published_by = models.ForeignKey(User, on_delete=models.PROTECT, related_name='user_published_standard', default=None) published_on = models.DateTimeField(default=timezone.now, blank=True) last_modified_by = models.ForeignKey(User, on_delete=models.PROTECT, related_name='user_modified_standard', default=None) last_modified_on = models.DateTimeField(default=timezone.now, blank=True) public = models.BooleanField(default=False) # USER # VERTRETER representative = models.ForeignKey(User, on_delete=models.PROTECT, related_name="user_repr", blank=True, null=True) # AUSFÜHRENDER executor = models.ForeignKey(User, on_delete=models.PROTECT, related_name="user_executor", blank=True, null=True) # VERANTWORTLICHER authority = models.ForeignKey(User, on_delete=models.PROTECT, related_name="user_authority", blank=True, null=True) # FILES addedfiles = models.ManyToManyField(DataFile, blank=True) # VERLINKTE STANDARDS linked_standards = models.ManyToManyField('Standards', blank=True) # GORUPS visibleby = models.ManyToManyField(AgencyGroup, blank=True) def __str__(self): return f'{self.name}' # Hier Path für Templates des Models mit Parametern def get_absolute_url(self): return reverse('standards-update', kwargs={'pk':self.pk})