digitaleagenturnc/recoverdir/models.py

166 lines
7.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()
# 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_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()
# Vertrauensperson
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()
# 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_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_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))
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()