From b605c432b6e873e481663aa7d187164dea94412c Mon Sep 17 00:00:00 2001 From: "holger.trampe" Date: Thu, 8 Oct 2020 09:21:39 +0200 Subject: [PATCH] Bereich 7 fertig --- recoverdir/forms.py | 17 ++++ recoverdir/models.py | 14 ++++ .../recoverdir/rd_areas/rd_area_7.html | 47 +++++++++++ .../rd_area_7_addcontract.html | 20 +++++ .../rd_area_7_contract_del.html | 20 +++++ .../rd_area_7_contract_single.html | 51 ++++++++++++ .../templates/recoverdir/rd_updates.html | 5 ++ recoverdir/urls.py | 8 +- recoverdir/views.py | 74 +++++++++++++++++- .../__pycache__/counter_tag.cpython-38.pyc | Bin 18910 -> 18982 bytes standards/templatetags/counter_tag.py | 3 + 11 files changed, 257 insertions(+), 2 deletions(-) create mode 100644 recoverdir/templates/recoverdir/rd_elements_forms/rd_area_7_addcontract.html create mode 100644 recoverdir/templates/recoverdir/rd_elements_forms/rd_area_7_contract_del.html create mode 100644 recoverdir/templates/recoverdir/rd_elements_forms/rd_area_7_contract_single.html 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 @@ +

Verträge + Vertrag +

+ + + + + + + + + + {% for contract in area_7_contract %} + + + + + + {% endfor %} + +
Vertrags-TypEigentümer etc. 
{{contract.contract_typ|default:""}}{{contract.contract_owner|default:""}} +   +   + +

Dokumente  Dokument

@@ -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

+
+
+ {% csrf_token %} + {{form.media}} + {{form|crispy}} +
+ Abbrechen +   +
+
+{% 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 %} +
+

Vertrag löschen

+
+
+ {% csrf_token %} + {{ form|crispy }} + Möchten Sie den Vertrag {{contact.typ}} Eigentümer {{contact.contract_owner}} wirklich endgültig löschen? +
+ Abbrechen +   +
+
+{% 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 236a374652f76e2de1c825cc1ae9b2a02576b3bc..f646192a8a3f368471fc39b4b3214bcc54aa9db4 100644 GIT binary patch delta 503 zcmX}pKS%;m90zdU4GQU9R+^<*=ATRriGpa5!0Il8Cc}su3iD?r+6i}#qDxCn!gFqD zaEKbjEeIN#qqPS2mZpZb`g#874d3^J&-cNDU!Sv1n@KrQ9I@azeQF%<=DLzQ&2D)( zz2QHp3t%k^`XSir3|Ptn0^UN((qfvzn`vJ&jtx6DTHv6D_}`GwB(ysiC36l<`$ic< zd4X|~36c*K7fK)8B$Fi1C?1p_m?D|3v*zG4S_jEn7FtYqfsb&8o?WB)OVo5G3>rCZ4N+PH_ tjapuVybeb4q6)=|q1$nbx?>O`hRWMYgsHtp<(&yh#^0=--hF0;{QIBRF|DqUtz4F znsw~)0l_s;@l~$T0ZMxKR aydQLqcSjeY9jdi=P!*upSStKkUw}VX@^HTZ 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"