diff --git a/recoverdir/forms.py b/recoverdir/forms.py index c153fec..ae4b8ac 100644 --- a/recoverdir/forms.py +++ b/recoverdir/forms.py @@ -74,7 +74,24 @@ class HLFVForm(forms.ModelForm): def __init__(self, *args, **kwargs): super(HLFVForm, self).__init__(*args, **kwargs) - +# Streamingabo +class StreamingAboF(forms.ModelForm): + + class Meta: + model = StreamingAbo + fields = ['name','username','password','accountactivity','vollmacht_doc'] + labels = { + 'name': 'Name des Streamingdienstes', + 'username' : 'Benutzername', + 'password' : 'Passwort', + 'accountactivity' : 'Was mit dem Account geschehen soll', + 'vollmacht_doc' : 'Vollmacht' + } + + def __init__(self, *args, **kwargs): + super(StreamingAboF, self).__init__(*args, **kwargs) + self.fields['password'] = forms.CharField(widget=forms.PasswordInput, label="Passwort") + # Familienkontakte class RDContactF(forms.ModelForm): diff --git a/recoverdir/models.py b/recoverdir/models.py index 40511a6..2cac806 100644 --- a/recoverdir/models.py +++ b/recoverdir/models.py @@ -131,12 +131,14 @@ class OnlineBank(models.Model): 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() diff --git a/recoverdir/templates/recoverdir/rd_areas/rd_area_1.html b/recoverdir/templates/recoverdir/rd_areas/rd_area_1.html index bdd5b5b..bf2403a 100644 --- a/recoverdir/templates/recoverdir/rd_areas/rd_area_1.html +++ b/recoverdir/templates/recoverdir/rd_areas/rd_area_1.html @@ -1,13 +1,13 @@ {% if area_1_hl == None %} - Handlungsleitfaden + Handlungsleitfaden {% else %}

Handlungsleitfaden bearbeiten

{% endif %}

Familie und Freunde - Kontakt + Kontakt

@@ -38,7 +38,7 @@

Vertrauensperson - Vertrauensperson + Vertrauensperson

@@ -69,7 +69,7 @@

Vorsorgedokumente - Vorsorgedokument + Vorsorgedokument

diff --git a/recoverdir/templates/recoverdir/rd_areas/rd_area_2.html b/recoverdir/templates/recoverdir/rd_areas/rd_area_2.html index 6deeeaf..e9a3bfa 100644 --- a/recoverdir/templates/recoverdir/rd_areas/rd_area_2.html +++ b/recoverdir/templates/recoverdir/rd_areas/rd_area_2.html @@ -1,12 +1,12 @@ {% if area_2_hlfv == None %} - Handlungsleitfaden Vorsorge & Finanzen + Handlungsleitfaden Vorsorge & Finanzen {% else %}

Handlungsleitfaden für Vorsorge & Finanzen bearbeiten

{% endif %}

Bank-, Konto- & Depot-Vollmachten - Vollmacht + Vollmacht

@@ -35,7 +35,7 @@

Digitaler Versicherungsordner - Zugangsdaten + Zugangsdaten

@@ -61,7 +61,7 @@

Online-Banking - Online-Banking + Online-Banking

@@ -87,7 +87,7 @@

Wertpapiere, Versicherungsscheine & Altersvorsorge - Dokument + Dokument

diff --git a/recoverdir/templates/recoverdir/rd_areas/rd_area_3.html b/recoverdir/templates/recoverdir/rd_areas/rd_area_3.html index 39e684b..c719b16 100644 --- a/recoverdir/templates/recoverdir/rd_areas/rd_area_3.html +++ b/recoverdir/templates/recoverdir/rd_areas/rd_area_3.html @@ -1 +1,103 @@ -DRIITTE \ No newline at end of file +

Streaming Abonnements + Streaming-Abo +

+
+ + + + + + + + + {% for ele in area_3_abos %} + + + + + + {% endfor %} + +
NameBenutzername 
{{ele.name|default:""}}{{ele.username|default:""}} +   +   + +
+
+

Verträge + Dokument +

+ + + + + + + + + + + {% for doc in area_3_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_3_addstreamingabo.html b/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_3_addstreamingabo.html new file mode 100644 index 0000000..2d0b708 --- /dev/null +++ b/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_3_addstreamingabo.html @@ -0,0 +1,20 @@ +{% extends "users/base.html" %} +{% load crispy_forms_tags %} +{% block content %} +{% if request.user.profile.agency.module_recoverdir %} +
+

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

Streaming-Account löschen

+
+
+ {% csrf_token %} + {{ form|crispy }} + Möchten Sie die Daten für den Streamingdienst {{streaming.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_3_streamingabo_single.html b/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_3_streamingabo_single.html new file mode 100644 index 0000000..64916be --- /dev/null +++ b/recoverdir/templates/recoverdir/rd_elements_forms/rd_area_3_streamingabo_single.html @@ -0,0 +1,38 @@ +{% extends "users/base.html" %} +{% block content %} +{% if request.user.profile.agency.module_recoverdir %} +
+

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

+
+

Streaming-Dienst

+ + + + + + + + + + + + + + + + + +
Name:{{streaming.name}}
Benutzername:{{streaming.username|default:""}}
Passwort:{{streaming.password|default:""}}
Mit meinem Account soll Folgendes passieren:{{streaming.accountactivity|default:""}}
+
+ {% if streaming.vollmacht_doc %} +

Vollmachtsdokument anschauen

+ {% endif %} +
+{% 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 89404e8..4408724 100644 --- a/recoverdir/templates/recoverdir/rd_updates.html +++ b/recoverdir/templates/recoverdir/rd_updates.html @@ -18,6 +18,7 @@ 6 = Vollmacht für Banken usw. 7 = ErgoVerDir 8 = OnlineBank + 9 = Streaming-Abo --> {% for ele in history %} @@ -51,6 +52,11 @@ {% elif hisotryelementinfo.1 == 8 %} {{hisotryelementinfo.0}} + {% elif hisotryelementinfo.1 == 9 %} + {{hisotryelementinfo.0}} + + + {% endif %} {{rdele.history_date|date:"d.m.Y H:i"}} diff --git a/recoverdir/urls.py b/recoverdir/urls.py index 2c5b356..5b519e8 100644 --- a/recoverdir/urls.py +++ b/recoverdir/urls.py @@ -62,6 +62,12 @@ urlpatterns = [ 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'), + # BEREICH 3 + # Streamingdienste + path('three/streaming/add', permission_required('users.recoverdirmanager')(RDAthreeAddstreaming.as_view()), name='rd-a3-addstreaming'), + 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'), # HISTORY VIEWS @@ -83,6 +89,7 @@ urlpatterns = [ path('ergo/ver//', permission_required('users.recoverdirmanager')(ErgoSingleHistory.as_view()), name='recoverdir-ergohistory-single'), # Online Bank path('onlinebank/ver//', permission_required('users.recoverdirmanager')(OnlinebankSingleHistory.as_view()), name='recoverdir-onlinebankhistory-single'), + path('streaming/ver//', permission_required('users.recoverdirmanager')(StreamingSingleHistory.as_view()), name='recoverdir-streaminghistory-single'), diff --git a/recoverdir/views.py b/recoverdir/views.py index 57ca35b..7489657 100644 --- a/recoverdir/views.py +++ b/recoverdir/views.py @@ -40,9 +40,14 @@ class RecoverDirManagement(LoginRequiredMixin, ListView): onlinebank = OnlineBank.objects.filter(agency=self.request.user.profile.agency) context.update({"area_2_onlinebank" : onlinebank}) + + streamingabo = StreamingAbo.objects.filter(agency=self.request.user.profile.agency) + context.update({"area_3_abos" : streamingabo}) + + handlungsleitfadenvf = HandlungsleitfadenVF.objects.filter(agency=self.request.user.profile.agency) - finalupdatelist = chain(persletters, handlungsleitfaden, contactfc, contactstrust, handlungsleitfadenvf, depistvollmacht, ergodigi, onlinebank) + finalupdatelist = chain(persletters, handlungsleitfaden, contactfc, contactstrust, handlungsleitfadenvf, depistvollmacht, ergodigi, onlinebank, streamingabo) context.update({"history" : finalupdatelist}) # DOCUMENTS NOT WORKING Weil das "alte" nicht gespeichert wird sondern lediglich der Datensatz @@ -80,6 +85,8 @@ class RecoverDirManagement(LoginRequiredMixin, ListView): context.update({'area_1_doc' : Documents.objects.filter(agency=self.request.user.profile.agency, area=1).order_by('-document_date')}) # A2 context.update({'area_2_doc' : Documents.objects.filter(agency=self.request.user.profile.agency, area=2).order_by('-document_date')}) + # A3 + context.update({'area_3_doc' : Documents.objects.filter(agency=self.request.user.profile.agency, area=3).order_by('-document_date')}) return context @@ -507,8 +514,70 @@ class RDAtwoUpdateonlinebank(UpdateView): context.update({'active_link' : 'recoverdir'}) return context +# Streaming Abo +class RDAthreeViewstreaming(DetailView): + model = StreamingAbo + success_url = reverse_lazy('recoverdir') + template_name = 'recoverdir/rd_elements_forms/rd_area_3_streamingabo_single.html' + context_object_name = 'streaming' -########################## HISTORY ELEMENT VIEW ################################## +class RDAthreeDelstreaming(DeleteView): + model = StreamingAbo + success_url = reverse_lazy('recoverdir') + template_name = 'recoverdir/rd_elements_forms/rd_area_3_streamingabo_del.html' + context_object_name = 'streaming' + + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + context.update({'active_link' : 'recoverdir'}) + return context + +class RDAthreeAddstreaming(CreateView): + model = StreamingAbo + success_url = reverse_lazy('recoverdir') + form_class = StreamingAboF + template_name = "recoverdir/rd_elements_forms/rd_area_3_addstreamingabo.html" + + def form_valid(self, form): + form.instance.agency = self.request.user.profile.agency + if(self.request.FILES and self.request.FILES['vollmacht_doc']): + # Randomize File-Name keeping extension + file = self.request.FILES['vollmacht_doc'] + file_ext_arr = file.name.split(".") + file_ext = file_ext_arr[len(file_ext_arr)-1] + file.name = randomString() + "." + file_ext + form.instance.vollmacht_doc = file + 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 RDAthreeUpdatestreaming(UpdateView): + model = StreamingAbo + success_url = reverse_lazy('recoverdir') + form_class = StreamingAboF + template_name = "recoverdir/rd_elements_forms/rd_area_3_addstreamingabo.html" + + def form_valid(self, form): + form.instance.agency = self.request.user.profile.agency + if(self.request.FILES and self.request.FILES['vollmacht_doc']): + # Randomize File-Name keeping extension + file = self.request.FILES['vollmacht_doc'] + file_ext_arr = file.name.split(".") + file_ext = file_ext_arr[len(file_ext_arr)-1] + file.name = randomString() + "." + file_ext + form.instance.vollmacht_doc = file + 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 ####################################################### # Persönliches Schreiben @@ -720,6 +789,28 @@ class OnlinebankSingleHistory(DetailView): }) return context +# StreamingAbo +class StreamingSingleHistory(DetailView): + model = StreamingAbo + template_name = 'recoverdir/rd_elements_forms/rd_area_3_streamingabo_single.html' + + # Gewünschte Revision aufrufen + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + context.update({'active_link' : 'recoverdir'}) + + historyelements = StreamingAbo.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({ + 'streaming' : 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 53103a4..0069dbf 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 1f9cbf7..2dc8276 100644 --- a/standards/templatetags/counter_tag.py +++ b/standards/templatetags/counter_tag.py @@ -759,7 +759,9 @@ def getHistoryClassOfObject(value): finalclass[0] = "" finalclass[1] = "" objectClass = value.__class__.__name__ - print(objectClass) + + #print(objectClass) + if(objectClass == 'HistoricalDocuments'): finalclass[0] = "Dokument" finalclass[1] = 0 @@ -787,6 +789,9 @@ def getHistoryClassOfObject(value): elif(objectClass == 'HistoricalOnlineBank'): finalclass[0] = "Online Bank" finalclass[1] = 8 + elif(objectClass == 'HistoricalStreamingAbo'): + finalclass[0] = "Streaming-Abo" + finalclass[1] = 9 return finalclass