Complete rewrite by OpenCode

This commit is contained in:
2025-11-04 16:42:39 +01:00
parent af636fe6ea
commit 27d11fccd3
22 changed files with 850 additions and 100 deletions

View File

@@ -40,14 +40,14 @@ class Thema(models.Model):
class Dokument(models.Model):
nummer = models.CharField(max_length=50, primary_key=True)
dokumententyp = models.ForeignKey(Dokumententyp, on_delete=models.PROTECT)
name = models.CharField(max_length=255)
name = models.CharField(max_length=255, db_index=True)
autoren = models.ManyToManyField(Person, related_name='verfasste_dokumente')
pruefende = models.ManyToManyField(Person, related_name='gepruefte_dokumente')
gueltigkeit_von = models.DateField(null=True, blank=True)
gueltigkeit_bis = models.DateField(null=True, blank=True)
gueltigkeit_von = models.DateField(null=True, blank=True, db_index=True)
gueltigkeit_bis = models.DateField(null=True, blank=True, db_index=True)
signatur_cso = models.CharField(max_length=255, blank=True)
anhaenge = models.TextField(blank=True)
aktiv = models.BooleanField(blank=True)
aktiv = models.BooleanField()
def __str__(self):
return f"{self.nummer} {self.name}"
@@ -57,14 +57,14 @@ class Dokument(models.Model):
verbose_name="Dokument"
class Vorgabe(models.Model):
order = models.IntegerField()
nummer = models.IntegerField()
order = models.IntegerField(db_index=True)
nummer = models.IntegerField(db_index=True)
dokument = models.ForeignKey(Dokument, on_delete=models.CASCADE, related_name='vorgaben')
thema = models.ForeignKey(Thema, on_delete=models.PROTECT, blank=False)
titel = models.CharField(max_length=255)
titel = models.CharField(max_length=255, db_index=True)
referenzen = models.ManyToManyField(Referenz, blank=True)
gueltigkeit_von = models.DateField()
gueltigkeit_bis = models.DateField(blank=True,null=True)
gueltigkeit_von = models.DateField(db_index=True)
gueltigkeit_bis = models.DateField(blank=True,null=True, db_index=True)
stichworte = models.ManyToManyField(Stichwort, blank=True)
relevanz = models.ManyToManyField(Rolle,blank=True)
@@ -206,6 +206,12 @@ class Vorgabe(models.Model):
class Meta:
verbose_name_plural="Vorgaben"
ordering = ['order']
constraints = [
models.UniqueConstraint(
fields=['dokument', 'thema', 'nummer', 'gueltigkeit_von'],
name='unique_vorgabe_active_period'
),
]
class VorgabeLangtext(Textabschnitt):
abschnitt=models.ForeignKey(Vorgabe,on_delete=models.CASCADE)