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_// return 'agencydata/agency_{0}/rd/{1}'.format(instance.agency.pk, filename) # MAIN RECOVERDIR PASSWORD AND CONFIG class RecoverDirSetting(models.Model): agency = models.ForeignKey(Agency, on_delete=models.CASCADE) logpass = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) recoverkey = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) lastlogg = models.DateTimeField(null=True, blank=True, default=None) # 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() # Notfallhilfe Datenfelder # AREA 1 # 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_name = 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_adresse = 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_name = 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)) rd_mail = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) history = HistoricalRecords() # Vertrauensperson class RDTrustPerson(models.Model): agency = models.ForeignKey(Agency, on_delete=models.CASCADE, null=True) rd_name = 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)) rd_mail = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) history = HistoricalRecords() # DOKUMENTE ALLGEMEIN 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() # AREA 2 # Handlungsleitfaden Vorsorge und Finanzen class HandlungsleitfadenVF(models.Model): agency = models.ForeignKey(Agency, on_delete=models.CASCADE, null=True) vf_ver_company = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) vf_ver_name = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) vf_ver_adresse = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) #vf_ver_street = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) #vf_ver_plzcity = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) vf_ver_tel = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) vf_ver_mail = encrypt(models.EmailField(max_length=500, blank=True, default="", null=True)) vf_fb_company = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) vf_fb_name = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) vf_fb_adresse = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) #vf_fb_street = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) #vf_fb_plzcity = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) vf_fb_tel = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) vf_fb_mail = encrypt(models.EmailField(max_length=500, blank=True, default="", null=True)) vf_rv_name = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) vf_rv_number = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) vf_rv_tel_1 = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) vf_rv_tel_2 = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) history = HistoricalRecords() # Bankvollmacht class DepositVollmacht(models.Model): agency = models.ForeignKey(Agency, on_delete=models.CASCADE, null=True) geber_name = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) geber_adresse = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) geber_bank = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) nehmer_name = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) nehmer_adresse = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) nehmer_geb = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) nehmer_tel = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) vollmacht_doc = EncryptedFileField(upload_to=rd_path_agency, blank=True) history = HistoricalRecords() class ErgoVerDir(models.Model): agency = models.ForeignKey(Agency, on_delete=models.CASCADE, null=True) ergo_username = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) ergo_password = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) history = HistoricalRecords() class OnlineBank(models.Model): agency = models.ForeignKey(Agency, on_delete=models.CASCADE, null=True) web_address = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) area = models.IntegerField(default=0) bic = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) iban = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) web_username = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) web_password = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) accountactivity = encrypt(models.CharField(max_length=5000, blank=True, default="", null=True)) vollmacht_doc = EncryptedFileField(upload_to=rd_path_agency, blank=True) history = HistoricalRecords() class StreamingAbo(models.Model): agency = models.ForeignKey(Agency, on_delete=models.CASCADE, null=True) name = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) username = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) password = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) accountactivity = encrypt(models.CharField(max_length=5000, blank=True, default="", null=True)) vollmacht_doc = EncryptedFileField(upload_to=rd_path_agency, blank=True) history = HistoricalRecords() class DigitalAccounts(models.Model): agency = models.ForeignKey(Agency, on_delete=models.CASCADE, null=True) name = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) area = models.IntegerField(default=2) link = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) username = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) password = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) accountactivity = encrypt(models.CharField(max_length=5000, blank=True, default="", null=True)) mail = encrypt(models.EmailField(max_length=500, blank=True, default="", null=True)) vollmacht_doc = EncryptedFileField(upload_to=rd_path_agency, blank=True) history = HistoricalRecords() PERS_CHOICE = ( ("ex", "Intern"), ("in", "Extern"), ) class Personal(models.Model): agency = models.ForeignKey(Agency, on_delete=models.CASCADE, null=True) name = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) function = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) inorex = encrypt(models.CharField(max_length=500, blank=True, default=1, choices =PERS_CHOICE, null=True)) pnr = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) onr = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) adresse = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) tel = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) mail = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) history = HistoricalRecords() class RDContract(models.Model): agency = models.ForeignKey(Agency, on_delete=models.CASCADE, null=True) contract_typ = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) contract_owner = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) license = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) info1 = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) info2 = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) adresse = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) tel = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) mail = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) history = HistoricalRecords() class RDElse(models.Model): agency = models.ForeignKey(Agency, on_delete=models.CASCADE, null=True) name = encrypt(models.CharField(max_length=500, blank=True, default="", null=True)) desc = encrypt(models.CharField(max_length=10000, blank=True, default="", null=True)) history = HistoricalRecords()