diff --git a/recoverdir/forms.py b/recoverdir/forms.py
index 61f5681..22c61aa 100644
--- a/recoverdir/forms.py
+++ b/recoverdir/forms.py
@@ -93,6 +93,23 @@ class HLFVForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(HLFVForm, self).__init__(*args, **kwargs)
+# RDContract
+class RDContractF(forms.ModelForm):
+
+ class Meta:
+ model = RDContract
+ fields = ['contract_typ','contract_owner','license','info1','info2','adresse','tel','mail']
+ labels = {
+ 'contract_typ' : "Vertragstyp (Leasing, Immobilie etc.)",
+ 'contract_owner' : "Eigentümer/Firma/Vertragsparnter",
+ 'license' : "Lizenz/Kennzeichen/Nummer etc.",
+ 'info1' : "Freifeld für Informationen 1",
+ 'info2' : "Freifeld für Informationen 2",
+ 'adresse' : "Adresse",
+ 'tel' : "Telefon",
+ 'mail' : "E-Mail"
+ }
+
# Streamingabo
class StreamingAboF(forms.ModelForm):
diff --git a/recoverdir/models.py b/recoverdir/models.py
index 814e7ea..b0a6a0f 100644
--- a/recoverdir/models.py
+++ b/recoverdir/models.py
@@ -179,6 +179,19 @@ class Personal(models.Model):
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))
@@ -203,5 +216,6 @@ class RDElse(models.Model):
+
diff --git a/recoverdir/templates/recoverdir/rd_areas/rd_area_7.html b/recoverdir/templates/recoverdir/rd_areas/rd_area_7.html
index 7a7c5e3..e7aa046 100644
--- a/recoverdir/templates/recoverdir/rd_areas/rd_area_7.html
+++ b/recoverdir/templates/recoverdir/rd_areas/rd_area_7.html
@@ -1,3 +1,28 @@
+
+
+
+
+ | Vertrags-Typ |
+ Eigentümer etc. |
+ |
+
+
+
+ {% for contract in area_7_contract %}
+
+ | {{contract.contract_typ|default:""}} |
+ {{contract.contract_owner|default:""}} |
+
+
+
+
+ |
+
+ {% endfor %}
+
+
@@ -50,5 +75,27 @@ $(document).ready(function(){
}
});
+ $('#a7_contract').DataTable({
+ "language": {
+ "search" : "Suche",
+ "info": "Zeige _START_ bis _END_ von _TOTAL_ Einträgen",
+ "lengthMenu": "Zeige _MENU_ Einträge",
+ "zeroRecords": "Nichts gefunden",
+ "infoEmpty": "Keine Einträge",
+ "paginate": {
+ "first": "Erste",
+ "last": "Letzte",
+ "next": "Nächste",
+ "previous": "Zurück"
+ },
+ },
+ "pageLength": 50,
+ "buttons" : {
+ "className" : "btn-danger"
+ }
+ });
+
+
+
});
\ No newline at end of file
diff --git a/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_7_addcontract.html b/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_7_addcontract.html
new file mode 100644
index 0000000..7122b82
--- /dev/null
+++ b/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_7_addcontract.html
@@ -0,0 +1,20 @@
+{% extends "users/base.html" %}
+{% load crispy_forms_tags %}
+{% block content %}
+{% if request.user.profile.agency.module_recoverdir %}
+
+
Vertrag bearbeiten
+
+
+
+{% else %}
+Das Modul Notfallhilfe wurden in ihrer Agentur deaktiviert.
+{% endif %}
+{% endblock content %}
diff --git a/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_7_contract_del.html b/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_7_contract_del.html
new file mode 100644
index 0000000..5a42338
--- /dev/null
+++ b/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_7_contract_del.html
@@ -0,0 +1,20 @@
+{% extends "users/base.html" %}
+{% load crispy_forms_tags %}
+{% block content %}
+{% if request.user.profile.agency.module_recoverdir %}
+
+{% else %}
+Das Modul Notfallhilfe wurden in ihrer Agentur deaktiviert.
+{% endif %}
+{% endblock content %}
diff --git a/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_7_contract_single.html b/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_7_contract_single.html
new file mode 100644
index 0000000..e41a732
--- /dev/null
+++ b/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_7_contract_single.html
@@ -0,0 +1,51 @@
+{% extends "users/base.html" %}
+{% block content %}
+{% if request.user.profile.agency.module_recoverdir %}
+
+
Vertrag {% if history == True %} - Version vom {{contract.history_date|date:"d.m.Y"}}{% endif %}
+
+
+
+
+
+
Vertragsinformationen
+
+
+ | Typ |
+ {{contract.contract_typ|default:""}} |
+
+
+ | Eigentümer/Immobilie/etc. |
+ {{contract.contract_owner|default:""}} |
+
+
+ | Lizenz |
+ {{contract.license|default:""}} |
+
+
+ | Info 1 |
+ {{contract.info1|default:""}} |
+
+
+ | Info 2 |
+ {{contract.info2|default:""}} |
+
+
+ | Adresse |
+ {{contract.ad|default:""}} |
+
+
+ | Telefon |
+ {{contract.tel|default:""}} |
+
+
+ | E-Mail |
+ {{contract.mail|default:""}} |
+
+
+
+
+{% else %}
+Auf dieses Modul haben Sie keinen Zugriff!
+{% endif %}
+{% endblock content %}
\ No newline at end of file
diff --git a/recoverdir/templates/recoverdir/rd_updates.html b/recoverdir/templates/recoverdir/rd_updates.html
index ca5d678..00dcad4 100644
--- a/recoverdir/templates/recoverdir/rd_updates.html
+++ b/recoverdir/templates/recoverdir/rd_updates.html
@@ -20,6 +20,7 @@
9 = Streaming-Abo
10 = Digitaler Account
11 = Personal
+ 12 = Vertrag Bereich 7
-->
{% for ele in history %}
@@ -61,6 +62,10 @@
{% elif hisotryelementinfo.1 == 11 %}
{{hisotryelementinfo.0}}
+ {% elif hisotryelementinfo.1 == 12 %}
+ {{hisotryelementinfo.0}}
+
+
{% elif hisotryelementinfo.1 == 20 %}
{{hisotryelementinfo.0}}
diff --git a/recoverdir/urls.py b/recoverdir/urls.py
index e447d1a..6651a95 100644
--- a/recoverdir/urls.py
+++ b/recoverdir/urls.py
@@ -93,6 +93,11 @@ urlpatterns = [
# Bereich 6 übernimmt Datenfelder aus Bereich 2
# Bereich 7 TASK: Hier weiter
+ # VERTRÄGE
+ path('seven/contract/add', permission_required('users.recoverdirmanager')(RDAsevenAddcontract.as_view()), name='rd-a7-addcontract'),
+ path('seven/contract/', permission_required('users.recoverdirmanager')(RDAsevenViewcontract.as_view()), name='rd-a7-viewcontract'),
+ path('seven/contract/del/', permission_required('users.recoverdirmanager')(RDAsevenDelcontract.as_view()), name='rd-a7-delcontract'),
+ path('seven/contract/update/', permission_required('users.recoverdirmanager')(RDAsevenUpdatecontract.as_view()), name='rd-a7-updatecontract'),
# Bereich 8 TASK: Hier weiter
@@ -128,7 +133,8 @@ urlpatterns = [
path('digitalaccount/ver//', permission_required('users.recoverdirmanager')(DigitalAccountSingleHistory.as_view()), name='recoverdir-digitalaccounthistory-single'),
# Personal Intern/Extern
path('personal/ver//', permission_required('users.recoverdirmanager')(PersonalSingleHistory.as_view()), name='recoverdir-personalhistory-single'),
-
+ # VERTRAG
+ path('contract/ver//', permission_required('users.recoverdirmanager')(ContractSingleHistory.as_view()), name='recoverdir-contracthistory-single'),
# ELSE
path('else/ver//', permission_required('users.recoverdirmanager')(ElseSingleHistory.as_view()), name='recoverdir-elsehistory-single'),
diff --git a/recoverdir/views.py b/recoverdir/views.py
index f8a8dfe..c43da0b 100644
--- a/recoverdir/views.py
+++ b/recoverdir/views.py
@@ -71,12 +71,15 @@ class RecoverDirManagement(LoginRequiredMixin, ListView):
personal = Personal.objects.filter(agency=self.request.user.profile.agency)
context.update({"area_5_personal" : personal})
+ rdcontract = RDContract.objects.filter(agency=self.request.user.profile.agency)
+ context.update({"area_7_contract" : rdcontract})
+
elseele = RDElse.objects.filter(agency=self.request.user.profile.agency)
context.update({"area_9_else" : elseele})
handlungsleitfadenvf = HandlungsleitfadenVF.objects.filter(agency=self.request.user.profile.agency)
- finalupdatelist = chain(persletters, handlungsleitfaden, contactfc, contactstrust, handlungsleitfadenvf, depistvollmacht, ergodigi, onlinebank, streamingabo, digitalaccount, personal, onlinebank6, elseele)
+ finalupdatelist = chain(persletters, handlungsleitfaden, contactfc, contactstrust, handlungsleitfadenvf, depistvollmacht, ergodigi, onlinebank, streamingabo, digitalaccount, personal, onlinebank6, elseele, rdcontract)
context.update({"history" : finalupdatelist})
users_of_agency = User.objects.filter(profile__agency=self.request.user.profile.agency)
@@ -886,6 +889,54 @@ class RDAnineUpdateelse(UpdateView):
context.update({'active_link' : 'recoverdir'})
return context
+# RDContract
+class RDAsevenViewcontract(DetailView):
+ model = RDContract
+ success_url = reverse_lazy('recoverdir')
+ template_name = 'recoverdir/rd_elements_forms/rd_area_7_contract_single.html'
+ context_object_name = 'contract'
+
+class RDAsevenDelcontract(DeleteView):
+ model = RDContract
+ success_url = reverse_lazy('recoverdir')
+ template_name = 'recoverdir/rd_elements_forms/rd_area_7_contract_del.html'
+ context_object_name = 'ele'
+
+ def get_context_data(self, **kwargs):
+ context = super().get_context_data(**kwargs)
+ context.update({'active_link' : 'recoverdir'})
+ return context
+
+class RDAsevenAddcontract(CreateView):
+ model = RDContract
+ success_url = reverse_lazy('recoverdir')
+ form_class = RDContractF
+ template_name = "recoverdir/rd_elements_forms/rd_area_7_addcontract.html"
+
+ def form_valid(self, form):
+ form.instance.agency = self.request.user.profile.agency
+ return super().form_valid(form)
+
+ def get_context_data(self, **kwargs):
+ context = super().get_context_data(**kwargs)
+ context.update({'active_link' : 'recoverdir'})
+ return context
+
+class RDAsevenUpdatecontract(UpdateView):
+ model = RDContract
+ success_url = reverse_lazy('recoverdir')
+ form_class = RDContractF
+ template_name = "recoverdir/rd_elements_forms/rd_area_7_addcontract.html"
+
+ def form_valid(self, form):
+ form.instance.agency = self.request.user.profile.agency
+ return super().form_valid(form)
+
+ def get_context_data(self, **kwargs):
+ context = super().get_context_data(**kwargs)
+ context.update({'active_link' : 'recoverdir'})
+ return context
+
################################################## HISTORY ELEMENT VIEW ##########################################
@@ -1167,7 +1218,28 @@ class PersonalSingleHistory(DetailView):
})
return context
+# VETRTRAG
+class ContractSingleHistory(DetailView):
+ model = RDContract
+ template_name = 'recoverdir/rd_elements_forms/rd_area_7_contract_single.html'
+ # Gewünschte Revision aufrufen
+ def get_context_data(self, **kwargs):
+ context = super().get_context_data(**kwargs)
+ context.update({'active_link' : 'recoverdir'})
+
+ historyelements = RDContract.objects.get(pk=self.kwargs['pk']).history.all()
+
+ shown_element = None
+ for he in historyelements:
+ if he.pk == self.kwargs["rev"]:
+ shown_element = he
+
+ context.update({
+ 'contract' : shown_element,
+ 'history' : True
+ })
+ return context
# ELSE
class ElseSingleHistory(DetailView):
diff --git a/standards/templatetags/__pycache__/counter_tag.cpython-38.pyc b/standards/templatetags/__pycache__/counter_tag.cpython-38.pyc
index 236a374..f646192 100644
Binary files a/standards/templatetags/__pycache__/counter_tag.cpython-38.pyc and b/standards/templatetags/__pycache__/counter_tag.cpython-38.pyc differ
diff --git a/standards/templatetags/counter_tag.py b/standards/templatetags/counter_tag.py
index e086d14..6487b9a 100644
--- a/standards/templatetags/counter_tag.py
+++ b/standards/templatetags/counter_tag.py
@@ -809,6 +809,9 @@ def getHistoryClassOfObject(value):
elif(objectClass == 'HistoricalPersonal'):
finalclass[0] = "Personal und Partner"
finalclass[1] = 11
+ elif(objectClass == 'HistoricalRDContract'):
+ finalclass[0] = "Vertrag"
+ finalclass[1] = 12
# ELSE
elif(objectClass == 'HistoricalRDElse'):
finalclass[0] = "Sonstiges"