diff --git a/recoverdir/forms.py b/recoverdir/forms.py index a58c840..7476f5f 100644 --- a/recoverdir/forms.py +++ b/recoverdir/forms.py @@ -90,7 +90,7 @@ class StreamingAboF(forms.ModelForm): def __init__(self, *args, **kwargs): super(StreamingAboF, self).__init__(*args, **kwargs) - self.fields['password'] = forms.CharField(widget=forms.PasswordInput, label="Passwort") + self.fields['password'] = forms.CharField(widget=forms.PasswordInput, label="Passwort", required=False) # DigitalAccountsF class DigitalAccountsF(forms.ModelForm): @@ -109,7 +109,25 @@ class DigitalAccountsF(forms.ModelForm): } def __init__(self, *args, **kwargs): super(DigitalAccountsF, self).__init__(*args, **kwargs) - self.fields['password'] = forms.CharField(widget=forms.PasswordInput, label="Passwort") + self.fields['password'] = forms.CharField(widget=forms.PasswordInput, label="Passwort", required=False) + + +class PersonalF(forms.ModelForm): + + class Meta: + model = Personal + fields = ['name','function','inorex','mail','pnr','onr','adresse','tel'] + labels = { + 'name':"Name", + 'function':"Funktion", + 'inorex':"Intern/Extern", + 'pnr':"Personalnummer", + 'onr': "ONR-Nummer", + 'adresse':"Adresse", + 'tel':"Telefon", + 'mail':"E-Mailadresse" + } + # Familienkontakte @@ -142,26 +160,28 @@ class ErgoVerDirF(forms.ModelForm): } def __init__(self, *args, **kwargs): super(ErgoVerDirF, self).__init__(*args, **kwargs) - self.fields['ergo_password'] = forms.CharField(widget=forms.PasswordInput, label="Passwort") + self.fields['ergo_password'] = forms.CharField(widget=forms.PasswordInput, label="Passwort", required=False) class OnlineBankF(forms.ModelForm): class Meta: model = OnlineBank - fields = ['web_address','web_username', 'web_password', 'accountactivity', 'vollmacht_doc'] + fields = ['web_address','web_username', 'web_password', 'bic', 'iban', 'accountactivity', 'vollmacht_doc', 'area'] labels = { - 'web_address':"Internetadresse", + 'web_address':"Internetadresse/Bankname", 'web_username':"Benutzername", 'web_password':"Passwort", + 'bic' : "BIC", + 'iban' : "IBAN", 'accountactivity':"Was soll mit dem Account geschehen?", 'vollmacht_doc':"Vollmacht als Dokument" } - def __init__(self, *args, **kwargs): super(OnlineBankF, self).__init__(*args, **kwargs) - self.fields['web_password'] = forms.CharField(widget=forms.PasswordInput, label="Passwort") + self.fields['web_password'] = forms.CharField(widget=forms.PasswordInput, label="Passwort", required=False) + self.fields['area'] = forms.CharField(initial="", required=False, widget=forms.HiddenInput()) # Vertrauensperson @@ -215,4 +235,10 @@ class DocumentForm(forms.ModelForm): } def __init__(self, *args, **kwargs): super(DocumentForm, self).__init__(*args, **kwargs) - self.fields['area'] = forms.CharField(initial="", required=False, widget=forms.HiddenInput()) \ No newline at end of file + self.fields['area'] = forms.CharField(initial="", required=False, widget=forms.HiddenInput()) + + + + + + diff --git a/recoverdir/models.py b/recoverdir/models.py index c449c8a..2feb952 100644 --- a/recoverdir/models.py +++ b/recoverdir/models.py @@ -125,6 +125,9 @@ class ErgoVerDir(models.Model): 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)) @@ -153,6 +156,25 @@ class DigitalAccounts(models.Model): +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() + + + + diff --git a/recoverdir/templates/recoverdir/rd_areas/rd_area_2.html b/recoverdir/templates/recoverdir/rd_areas/rd_area_2.html index 9bc75db..c5e06b9 100644 --- a/recoverdir/templates/recoverdir/rd_areas/rd_area_2.html +++ b/recoverdir/templates/recoverdir/rd_areas/rd_area_2.html @@ -61,12 +61,12 @@

Online-Banking - Online-Banking + Online-Banking

- + diff --git a/recoverdir/templates/recoverdir/rd_areas/rd_area_5.html b/recoverdir/templates/recoverdir/rd_areas/rd_area_5.html index 38b3d8d..6f295d8 100644 --- a/recoverdir/templates/recoverdir/rd_areas/rd_area_5.html +++ b/recoverdir/templates/recoverdir/rd_areas/rd_area_5.html @@ -1 +1,106 @@ -FÜNFTE \ No newline at end of file +

Personal, interne und externe Partner inkl. Funktionen usw. + Online-Account +

+
InternetadresseInternetadresse/Bankname  
+ + + + + + + + + + {% for ele in area_5_personal %} + + + + + + + {% endfor %} + +
NameFunktionIntern/Extern 
{{ele.name|default:""}}{{ele.function|default:""}} + {% if ele.inorex == "in" %} Intern + {% elif ele.inorex == "ex" %} Extern + {% else %} {% endif %} + +   +   + +
+
+

Dokumente, Vertretungsregeln & Zugriffsberechtigungen + Dokument +

+ + + + + + + + + + + {% for doc in area_5_doc %} + + + + + + + {% endfor %} + +
NameDatumBeschreibung 
{{doc.document_name}}{{doc.document_date|date:"d.m.Y"|default:""}}{{doc.document_desc|default:""}} +   +   + +
+ + \ No newline at end of file diff --git a/recoverdir/templates/recoverdir/rd_areas/rd_area_6.html b/recoverdir/templates/recoverdir/rd_areas/rd_area_6.html index a79236c..fad835b 100644 --- a/recoverdir/templates/recoverdir/rd_areas/rd_area_6.html +++ b/recoverdir/templates/recoverdir/rd_areas/rd_area_6.html @@ -1 +1,97 @@ -SECHSTE \ No newline at end of file +

Bankkonten und Online-Bankzugänge + Online-Banking +

+ + + + + + + + + {% for ele in area_6_onlinebank %} + + + + + {% endfor %} + +
Internetadresse/Bankname 
{{ele.web_address}} +   +   + +
+
+

Dokumente + Dokument +

+ + + + + + + + + + + {% for doc in area_5_doc %} + + + + + + + {% endfor %} + +
NameDatumBeschreibung 
{{doc.document_name}}{{doc.document_date|date:"d.m.Y"|default:""}}{{doc.document_desc|default:""}} +   +   + +
+ + \ No newline at end of file diff --git a/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_2_addonlinebank.html b/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_2_addonlinebank.html index 4e568a3..b89e2bc 100644 --- a/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_2_addonlinebank.html +++ b/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_2_addonlinebank.html @@ -3,7 +3,7 @@ {% block content %} {% if request.user.profile.agency.module_recoverdir %}
-

Zugang zur Online-Bank bearbeiten

+

Zugang zur Bank/Online-Bankaccount bearbeiten


{% csrf_token %} @@ -11,7 +11,7 @@ {{form|crispy}}
Abbrechen -   +  
{% else %} diff --git a/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_2_onlinebank_single.html b/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_2_onlinebank_single.html index 35f4784..dfa2990 100644 --- a/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_2_onlinebank_single.html +++ b/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_2_onlinebank_single.html @@ -21,6 +21,14 @@ Passwort: {{onlinebank.web_password|default:""}} + + + BIC: + {{onlinebank.bic|default:""}} + + + IBAN: + {{onlinebank.iban|default:""}} Mit meinem Account soll Folgendes passieren: diff --git a/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_5_addpersonal.html b/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_5_addpersonal.html new file mode 100644 index 0000000..e4c1788 --- /dev/null +++ b/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_5_addpersonal.html @@ -0,0 +1,20 @@ +{% extends "users/base.html" %} +{% load crispy_forms_tags %} +{% block content %} +{% if request.user.profile.agency.module_recoverdir %} +
+

Personal-Account 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_5_personal_del.html b/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_5_personal_del.html new file mode 100644 index 0000000..f323e63 --- /dev/null +++ b/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_5_personal_del.html @@ -0,0 +1,20 @@ +{% extends "users/base.html" %} +{% load crispy_forms_tags %} +{% block content %} +{% if request.user.profile.agency.module_recoverdir %} +
+

Personal-Partner-Account löschen

+
+
+ {% csrf_token %} + {{ form|crispy }} + Möchten Sie den Personal/Partner-Account von {{account.name}} 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_5_personal_single.html b/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_5_personal_single.html new file mode 100644 index 0000000..ef28649 --- /dev/null +++ b/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_5_personal_single.html @@ -0,0 +1,55 @@ +{% extends "users/base.html" %} +{% block content %} +{% if request.user.profile.agency.module_recoverdir %} +
+

Personalaccount {% if history == True %} - Version vom {{personal.history_date|date:"d.m.Y"}}{% endif %} + + + +

+
+

Personal und Partner

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Name:{{personal.name}}
Function:{{personal.function|default:""}}
Intern/Extern: + {% if personal.inorex == "in" %} Intern + {% elif personal.inorex == "ex" %} Extern + {% else %} {% endif %} +
PNR:{{personal.pnr|default:""}}
ONR:{{personal.onr|default:""}}
Email-Adresse:{{personal.mail|default:""}}
Telefon:{{personal.tel|default:""}}
Adresse:{{personal.adresse|default:""}}
+
+
+{% else %} +

Auf dieses Modul haben Sie keinen Zugriff!

+{% endif %} +{% endblock content %} diff --git a/recoverdir/templates/recoverdir/rd_updates.html b/recoverdir/templates/recoverdir/rd_updates.html index e80c434..6663774 100644 --- a/recoverdir/templates/recoverdir/rd_updates.html +++ b/recoverdir/templates/recoverdir/rd_updates.html @@ -19,6 +19,7 @@ 8 = OnlineBank 9 = Streaming-Abo 10 = Digitaler Account + 11 = Personal --> {% for ele in history %} @@ -57,6 +58,9 @@ {% elif hisotryelementinfo.1 == 10 %} {{hisotryelementinfo.0}} + {% elif hisotryelementinfo.1 == 11 %} + {{hisotryelementinfo.0}} + {% endif %} {{rdele.history_date|date:"d.m.Y H:i"}} diff --git a/recoverdir/urls.py b/recoverdir/urls.py index 3317a06..5ea2f47 100644 --- a/recoverdir/urls.py +++ b/recoverdir/urls.py @@ -57,7 +57,7 @@ urlpatterns = [ path('two/ergo/update/', permission_required('users.recoverdirmanager')(RDAtwoUpdateergo.as_view()), name='rd-a2-updateergo'), # OnlineBank - path('two/onlinebank/add', permission_required('users.recoverdirmanager')(RDAtwoAddonlinebank.as_view()), name='rd-a2-addonlinebank'), + path('two/onlinebank/add/', permission_required('users.recoverdirmanager')(RDAtwoAddonlinebank.as_view()), name='rd-a2-addonlinebank'), path('two/onlinebank/', permission_required('users.recoverdirmanager')(RDAtwoViewonlinebank.as_view()), name='rd-a2-viewonlinebank'), path('two/onlinebank/del/', permission_required('users.recoverdirmanager')(RDAtwoDelonlinebank.as_view()), name='rd-a2-delonlinebank'), path('two/onlinebank/update/', permission_required('users.recoverdirmanager')(RDAtwoUpdateonlinebank.as_view()), name='rd-a2-updateonlinebank'), @@ -68,12 +68,20 @@ urlpatterns = [ path('three/streaming/', permission_required('users.recoverdirmanager')(RDAthreeViewstreaming.as_view()), name='rd-a3-viewstreaming'), path('three/streaming/del/', permission_required('users.recoverdirmanager')(RDAthreeDelstreaming.as_view()), name='rd-a3-delstreaming'), path('three/streaming/update/', permission_required('users.recoverdirmanager')(RDAthreeUpdatestreaming.as_view()), name='rd-a3-updatestreaming'), - + + # Bereich 4 + # Digitale Accounts path('four/digitalaccount/add', permission_required('users.recoverdirmanager')(RDAfourAdddigitalaccount.as_view()), name='rd-a4-adddigitalaccount'), path('four/digitalaccount/', permission_required('users.recoverdirmanager')(RDAfourViewdigitalaccount.as_view()), name='rd-a4-viewdigitalaccount'), path('four/digitalaccount/del/', permission_required('users.recoverdirmanager')(RDAfourDeldigitalaccount.as_view()), name='rd-a4-deldigitalaccount'), path('four/digitalaccount/update/', permission_required('users.recoverdirmanager')(RDAfourUpdatedigitalaccount.as_view()), name='rd-a4-updatedigitalaccount'), + # Bereich 5 + # Personaldaten + path('five/personal/add', permission_required('users.recoverdirmanager')(RDAfiveAddpersonal.as_view()), name='rd-a5-addpersonal'), + path('five/personal/', permission_required('users.recoverdirmanager')(RDAfiveViewpersonal.as_view()), name='rd-a5-viewpersonal'), + path('five/personal/del/', permission_required('users.recoverdirmanager')(RDAfiveDelpersonal.as_view()), name='rd-a5-delpersonal'), + path('five/personal/update/', permission_required('users.recoverdirmanager')(RDAfiveUpdatepersonal.as_view()), name='rd-a5-updatepersonal'), # HISTORY VIEWS # Persönliches Schreiben @@ -96,8 +104,10 @@ urlpatterns = [ path('onlinebank/ver//', permission_required('users.recoverdirmanager')(OnlinebankSingleHistory.as_view()), name='recoverdir-onlinebankhistory-single'), # STREAMINGABO path('streaming/ver//', permission_required('users.recoverdirmanager')(StreamingSingleHistory.as_view()), name='recoverdir-streaminghistory-single'), - + # Digitale Accounts 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'), diff --git a/recoverdir/views.py b/recoverdir/views.py index 666c73f..91027bb 100644 --- a/recoverdir/views.py +++ b/recoverdir/views.py @@ -38,19 +38,25 @@ class RecoverDirManagement(LoginRequiredMixin, ListView): ergodigi = ErgoVerDir.objects.filter(agency=self.request.user.profile.agency) context.update({"area_2_ergo" : ergodigi}) - onlinebank = OnlineBank.objects.filter(agency=self.request.user.profile.agency) + onlinebank = OnlineBank.objects.filter(agency=self.request.user.profile.agency, area=2) context.update({"area_2_onlinebank" : onlinebank}) + onlinebank6 = OnlineBank.objects.filter(agency=self.request.user.profile.agency, area=6) + context.update({"area_6_onlinebank" : onlinebank6}) + streamingabo = StreamingAbo.objects.filter(agency=self.request.user.profile.agency) context.update({"area_3_abos" : streamingabo}) digitalaccount = DigitalAccounts.objects.filter(agency=self.request.user.profile.agency) context.update({"area_4_digitalaccount" : digitalaccount}) + personal = Personal.objects.filter(agency=self.request.user.profile.agency) + context.update({"area_5_personal" : personal}) + handlungsleitfadenvf = HandlungsleitfadenVF.objects.filter(agency=self.request.user.profile.agency) - finalupdatelist = chain(persletters, handlungsleitfaden, contactfc, contactstrust, handlungsleitfadenvf, depistvollmacht, ergodigi, onlinebank, streamingabo, digitalaccount) + finalupdatelist = chain(persletters, handlungsleitfaden, contactfc, contactstrust, handlungsleitfadenvf, depistvollmacht, ergodigi, onlinebank, streamingabo, digitalaccount, personal, onlinebank6) context.update({"history" : finalupdatelist}) # DOCUMENTS NOT WORKING Weil das "alte" nicht gespeichert wird sondern lediglich der Datensatz @@ -94,6 +100,13 @@ class RecoverDirManagement(LoginRequiredMixin, ListView): # A4 context.update({'area_4_doc' : Documents.objects.filter(agency=self.request.user.profile.agency, area=4).order_by('-document_date')}) + # A5 + context.update({'area_5_doc' : Documents.objects.filter(agency=self.request.user.profile.agency, area=5).order_by('-document_date')}) + + # A6 + context.update({'area_6_doc' : Documents.objects.filter(agency=self.request.user.profile.agency, area=5).order_by('-document_date')}) + + return context class RecoverDirAddPL(CreateView): @@ -483,6 +496,7 @@ class RDAtwoAddonlinebank(CreateView): def form_valid(self, form): form.instance.agency = self.request.user.profile.agency + form.instance.area = self.kwargs["area"] if(self.request.FILES and self.request.FILES['vollmacht_doc']): # Randomize File-Name keeping extension file = self.request.FILES['vollmacht_doc'] @@ -646,6 +660,55 @@ class RDAfourUpdatedigitalaccount(UpdateView): context.update({'active_link' : 'recoverdir'}) return context +# Personalaccount +class RDAfiveViewpersonal(DetailView): + model = Personal + success_url = reverse_lazy('recoverdir') + template_name = 'recoverdir/rd_elements_forms/rd_area_5_personal_single.html' + context_object_name = 'personal' + +class RDAfiveDelpersonal(DeleteView): + model = Personal + success_url = reverse_lazy('recoverdir') + template_name = 'recoverdir/rd_elements_forms/rd_area_5_personal_del.html' + context_object_name = 'personal' + + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + context.update({'active_link' : 'recoverdir'}) + return context + +class RDAfiveAddpersonal(CreateView): + model = Personal + success_url = reverse_lazy('recoverdir') + form_class = PersonalF + template_name = "recoverdir/rd_elements_forms/rd_area_5_addpersonal.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 RDAfiveUpdatepersonal(UpdateView): + model = Personal + success_url = reverse_lazy('recoverdir') + form_class = PersonalF + template_name = "recoverdir/rd_elements_forms/rd_area_5_addpersonal.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 ########################################## @@ -904,5 +967,27 @@ class DigitalAccountSingleHistory(DetailView): }) return context +# Personal +class PersonalSingleHistory(DetailView): + model = Personal + template_name = 'recoverdir/rd_elements_forms/rd_area_5_personal_single.html' + + # Gewünschte Revision aufrufen + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + context.update({'active_link' : 'recoverdir'}) + + historyelements = Personal.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({ + 'personal' : shown_element, + 'history' : True + }) + return context diff --git a/standards/templatetags/__pycache__/counter_tag.cpython-38.pyc b/standards/templatetags/__pycache__/counter_tag.cpython-38.pyc index b61647c..3ceac4b 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 212dcd6..5a7d759 100644 --- a/standards/templatetags/counter_tag.py +++ b/standards/templatetags/counter_tag.py @@ -793,8 +793,11 @@ def getHistoryClassOfObject(value): finalclass[0] = "Streaming-Abo" finalclass[1] = 9 elif(objectClass == 'HistoricalDigitalAccounts'): - finalclass[0] = "Onine-Account" + finalclass[0] = "Online-Account" finalclass[1] = 10 + elif(objectClass == 'HistoricalPersonal'): + finalclass[0] = "Personal und Partner" + finalclass[1] = 11 return finalclass