digitaleagenturnc/recoverdir/models.py

78 lines
3.9 KiB
Python

from django.db import models
from django.contrib.auth.models import User
from users.models import Agency
from django.utils import timezone
from django_cryptography.fields import encrypt
# HISTORY
from simple_history.models import HistoricalRecords
from django_encrypted_filefield.fields import (
EncryptedFileField,
EncryptedImageField
)
# PATH FOR AGENCYPIC
def rd_path_agency(instance, filename):
# file will be uploaded to MEDIA_URL/agency_<id>/<subdirs>/<filename>
return 'agencydata/agency_{0}/rd/{1}'.format(instance.agency.pk, filename)
# Create your models here.
class PersLetter(models.Model):
agency = models.ForeignKey(Agency, on_delete=models.CASCADE)
user = models.ForeignKey(User, on_delete=models.SET_NULL, blank=True, null=True)
text = encrypt(models.CharField(max_length=100000, blank=True, default="", null=True))
history = HistoricalRecords()
# Notfallordner Datenfelder
# Handlungsleitfaden
class Handlungsleitfaden(models.Model):
agency = models.ForeignKey(Agency, on_delete=models.CASCADE, null=True)
rd_main = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
rd_prename = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
rd_postname = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
rd_street = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
rd_plz = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
rd_city = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
rd_tel = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
rd_mail = encrypt(models.EmailField(max_length=500, blank=True, default="", null=True))
bvk_number = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
rv_name = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
rv_number = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
rv_tel_1 = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
rv_tel_2 = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
history = HistoricalRecords()
# Contacts
class RDContact(models.Model):
agency = models.ForeignKey(Agency, on_delete=models.CASCADE, null=True)
rd_prename = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
rd_postname = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
rd_rel = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
rd_adresse = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
rd_tel = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
history = HistoricalRecords()
class RDTrustPerson(models.Model):
agency = models.ForeignKey(Agency, on_delete=models.CASCADE, null=True)
rd_prename = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
rd_postname = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
rd_company = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
rd_adresse = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
rd_tel = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
history = HistoricalRecords()
class Documents(models.Model):
agency = models.ForeignKey(Agency, on_delete=models.CASCADE, null=True)
area = models.IntegerField(default=0)
document_desc = encrypt(models.CharField(max_length=500, blank=True, default="", null=True))
document_name = encrypt(models.CharField(max_length=500, blank=False, default="", null=False))
document_date = encrypt(models.DateField(default=timezone.now, blank=True, null=True))
document = EncryptedFileField(upload_to=rd_path_agency, blank=True)
history = HistoricalRecords()