from django.shortcuts import render from django.contrib.auth.mixins import LoginRequiredMixin from django.views.generic import CreateView, ListView, UpdateView, DetailView, DeleteView, FormView from .models import * from .forms import * from django.urls import reverse_lazy from django.shortcuts import redirect from django.contrib import messages from django.contrib.auth.decorators import login_required import os import sys from django.conf import settings from django.http import JsonResponse, HttpResponse, Http404 from django_encrypted_filefield.views import FetchView import string, random from itertools import chain from django.contrib.auth.password_validation import * from datetime import datetime from django.contrib.auth.models import User ######## HELPER FUNCTIONS def randomString(stringLength=40): """Generate a random string of fixed length """ letters = string.ascii_lowercase return ''.join(random.choice(letters) for i in range(stringLength)) def randomStringRecoverKey(): letters = string.ascii_uppercase key = "" for run in range(10): key += ''.join(random.choice(letters) for i in range(5)) if(run < 9): key += "-" return key ''' Prüft, ob der User länger als 30 Minuten ausgeloggt war oder generell ausgeloggt war bzw. kein rd_login hat. ''' def checkForLogin(self): # Acutal Timestamp now = datetime.now() userloginrdtime = self.request.user.profile.rd_login time_delta = (now-userloginrdtime) total_seconds = time_delta.total_seconds() minutes = total_seconds/60 print(userloginrdtime) if(self.request.user.profile.rd_login == None or minutes > 30): self.request.user.profile.rd_login = None self.request.user.profile.save() messages.warning(self.request, f'Bitte login Sie erneut ein!') return False else: self.request.user.profile.rd_login = now self.request.user.profile.save() return True ############################################# EXTERNAL ACCESS ############################################ class LoadExternalDataLogin(FormView): pass ############# VIEWS # Create your views here. class RecoverDirManagement(LoginRequiredMixin, ListView): model = PersLetter # First Method! def dispatch(self, request, *args, **kwargs): # Check, if initial config exist and user has rights if(len(RecoverDirSetting.objects.filter(agency=self.request.user.profile.agency)) == 0 and self.request.user.has_perm('users.recoverdirmanager')): # Settings not found return redirect('recoverdir-addsettings') # TASK: Hier noch einstellen, dass der Nutzer weniger als 30 Minuten nicht inaktiv war! elif(self.request.user.profile.rd_login == None and self.request.user.has_perm('users.recoverdirmanager') or (self.request.user.has_perm('users.recoverdirmanager') and checkForLogin(self) == False)): return redirect('recoverdir-login') else: return super(RecoverDirManagement, self).get(request) def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({'active_link' : 'recoverdir'}) # PERSÖNLICHER BRIEF persletter = None if(len(PersLetter.objects.filter(agency=self.request.user.profile.agency)) == 1): persletter = PersLetter.objects.filter(agency=self.request.user.profile.agency)[0] context.update({'persletter' : persletter}) # Load Update-Historys # AREAs persletters = PersLetter.objects.filter(agency=self.request.user.profile.agency) handlungsleitfaden = Handlungsleitfaden.objects.filter(agency=self.request.user.profile.agency) contactfc = RDContact.objects.filter(agency=self.request.user.profile.agency) contactstrust = RDTrustPerson.objects.filter(agency=self.request.user.profile.agency) depistvollmacht = DepositVollmacht.objects.filter(agency=self.request.user.profile.agency) 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, 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, area=4) context.update({"area_4_digitalaccount" : digitalaccount}) digitalaccount8 = DigitalAccounts.objects.filter(agency=self.request.user.profile.agency, area=8) context.update({"area_8_digitalaccount" : digitalaccount8}) 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, rdcontract) context.update({"history" : finalupdatelist}) users_of_agency = User.objects.filter(profile__agency=self.request.user.profile.agency) context.update({"users_of_agency" : users_of_agency}) # DOCUMENTS NOT WORKING Weil das "alte" nicht gespeichert wird sondern lediglich der Datensatz #documents = Documents.objects.filter(agency=self.request.user.profile.agency, area=1) # Bereich 2 - Handlungsleitfaden FV ########## ########## ########## ########## ########## ########## hlfv = HandlungsleitfadenVF.objects.filter(agency=self.request.user.profile.agency) if(len(hlfv) == 1): hlfv = HandlungsleitfadenVF.objects.filter(agency=self.request.user.profile.agency)[0] else: hlfv = None context.update({'area_2_hlfv' : hlfv}) #Bankenvollmachten usw. context.update({'area_2_deposit' : depistvollmacht}) # Bereich 1 - Handlungsleitfaden ########## ########## ########## ########## ########## ########## # Handlungsleitfaden hl = Handlungsleitfaden.objects.filter(agency=self.request.user.profile.agency) if(len(hl) == 1): hl = Handlungsleitfaden.objects.filter(agency=self.request.user.profile.agency)[0] else: hl = None context.update({'area_1_hl' : hl}) # Familien-Freunde context.update({'area_1_fc' : RDContact.objects.filter(agency=self.request.user.profile.agency)}) # Vertrauensperson context.update({'area_1_trust' : RDTrustPerson.objects.filter(agency=self.request.user.profile.agency)}) # Dokumente # A1 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')}) # 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=6).order_by('-document_date')}) # A7 context.update({'area_7_doc' : Documents.objects.filter(agency=self.request.user.profile.agency, area=7).order_by('-document_date')}) # A8 context.update({'area_8_doc' : Documents.objects.filter(agency=self.request.user.profile.agency, area=8).order_by('-document_date')}) # A9 context.update({'area_9_doc' : Documents.objects.filter(agency=self.request.user.profile.agency, area=9).order_by('-document_date')}) # Load Settings context.update({'rd_settings' : RecoverDirSetting.objects.filter(agency=self.request.user.profile.agency)[0]}) return context def CloseRecoverDir(request): request.user.profile.rd_login = None request.user.profile.save() return redirect('recoverdir') class RecoverDirLog(FormView): template_name = "recoverdir/rd_elements_forms/rd_mainlogin.html" form_class = LoginRDForm success_url = reverse_lazy('recoverdir') def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({ 'active_link' : 'recoverdir', 'form' : LoginRDForm() }) return context def form_valid(self, form): # Load Settings-Data settings = RecoverDirSetting.objects.filter(agency=self.request.user.profile.agency)[0] if form.cleaned_data.get("pass") == settings.logpass and self.request.user.has_perm("users.recoverdirmanager") and settings.agency == self.request.user.profile.agency: self.request.user.profile.rd_login = datetime.now() self.request.user.profile.save() else: messages.warning(self.request, f'Passwort nicht korrekt!') return super().form_valid(form) class RecoverDirAddSettings(CreateView): model = RecoverDirSetting success_url = reverse_lazy('recoverdir') form_class = RecoverDirSettingForm template_name = "recoverdir/rd_settings.html" def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({ 'active_link' : 'recoverdir', }) return context def form_valid(self, form): form.instance.agency = self.request.user.profile.agency # Initial Recover-Key if(len(RecoverDirSetting.objects.filter(agency=self.request.user.profile.agency)) == 0 and self.request.user.has_perm('users.recoverdirmanager')): form.instance.recoverkey = randomStringRecoverKey() if(form.cleaned_data.get('logpass') == form.cleaned_data.get('logpass_check')): messages.warning(self.request, f'Daten gespeichert!') else: messages.warning(self.request, f'Die Passwörter stimmen nicht überein. Bitte neu eingeben!') return redirect('recoverdir-addsettings') return super().form_valid(form) class RecoverDirUpdateSettings(UpdateView): model = RecoverDirSetting success_url = reverse_lazy('recoverdir') form_class = RecoverDirSettingForm template_name = "recoverdir/rd_settings.html" def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({ 'active_link' : 'recoverdir', }) return context def form_valid(self, form): # Initial Recover-Key if(form.cleaned_data.get('logpass') == form.cleaned_data.get('logpass_check')): messages.warning(self.request, f'Daten gespeichert!') else: messages.warning(self.request, f'Die Passwörter stimmen nicht überein. Bitte neu eingeben!') return redirect('recoverdir-addsettings') return super().form_valid(form) class RecoverDirAddPL(CreateView): model = PersLetter success_url = reverse_lazy('recoverdir') form_class = PersLetterForm template_name = "recoverdir/rd_pers_add.html" def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({ 'active_link' : 'recoverdir', }) return context def form_valid(self, form): form.instance.agency = self.request.user.profile.agency form.instance.user = self.request.user # TASK: Hier Aktualisierung hinzufügen! return super().form_valid(form) class RecoverDirUpdatePL(UpdateView): model = PersLetter success_url = reverse_lazy('recoverdir') form_class = PersLetterForm template_name = "recoverdir/rd_pers_update.html" def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({'active_link' : 'recoverdir'}) return context def form_valid(self, form): # TASK: Hier Aktualisierung hinzufügen! return super().form_valid(form) # Notfallhilfe ELEMENTE # ABNSCHNITT 1 class RDAoneAddDoc(CreateView): model = Documents success_url = reverse_lazy('recoverdir') form_class = DocumentForm template_name = "recoverdir/rd_elements_forms/rd_area_1_adddoc.html" def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') def form_valid(self, form): form.instance.agency = self.request.user.profile.agency form.instance.area = self.kwargs["area"] # Randomize File-Name keeping extension file = self.request.FILES['document'] file_ext_arr = file.name.split(".") file_ext = file_ext_arr[len(file_ext_arr)-1] file.name = randomString() + "." + file_ext form.instance.document = 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 # Einzeldokumentenanzeige class RDAoneViewDoc(DetailView): model = Documents success_url = reverse_lazy('recoverdir') template_name = 'recoverdir/rd_doc_single.html' context_object_name = 'document' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') class RDAoneDelDoc(DeleteView): model = Documents success_url = reverse_lazy('recoverdir') template_name = 'recoverdir/rd_doc_del.html' context_object_name = 'document' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({'active_link' : 'recoverdir'}) return context class RDAoneUpdateDoc(UpdateView): model = Documents success_url = reverse_lazy('recoverdir') form_class = DocumentForm template_name = "recoverdir/rd_elements_forms/rd_area_1_adddoc.html" def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') def form_valid(self, form): if(self.request.FILES and self.request.FILES['document']): # Randomize File-Name keeping extension file = self.request.FILES['document'] file_ext_arr = file.name.split(".") file_ext = file_ext_arr[len(file_ext_arr)-1] file.name = randomString() + "." + file_ext form.instance.document = 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 # Handlungsleitfaden # ABNSCHNITT 1 class RDAoneAddHL(CreateView): model = Handlungsleitfaden success_url = reverse_lazy('recoverdir') form_class = HLForm template_name = "recoverdir/rd_elements_forms/rd_area_1_addhl.html" def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') 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 RDAoneUpdateHL(UpdateView): model = Handlungsleitfaden success_url = reverse_lazy('recoverdir') form_class = HLForm template_name = "recoverdir/rd_elements_forms/rd_area_1_addhl.html" def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({'active_link' : 'recoverdir'}) return context # FAMILIEN class RDAoneAddFC(CreateView): model = RDContact success_url = reverse_lazy('recoverdir') form_class = RDContactF template_name = "recoverdir/rd_elements_forms/rd_area_1_addfc.html" def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') 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 RDAoneUpdateContact(UpdateView): model = RDContact success_url = reverse_lazy('recoverdir') form_class = RDContactF template_name = "recoverdir/rd_elements_forms/rd_area_1_addfc.html" def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({'active_link' : 'recoverdir'}) return context class RDAoneViewContact(DetailView): model = RDContact success_url = reverse_lazy('recoverdir') template_name = 'recoverdir/rd_elements_forms/rd_area_1_contact_single.html' context_object_name = 'contact' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') class RDAoneDelContact(DeleteView): model = RDContact success_url = reverse_lazy('recoverdir') template_name = 'recoverdir/rd_elements_forms/rd_area_1_contact_del.html' context_object_name = 'contact' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({'active_link' : 'recoverdir'}) return context # VERTRAUENSPERSON class RDAoneViewTrust(DetailView): model = RDTrustPerson success_url = reverse_lazy('recoverdir') template_name = 'recoverdir/rd_elements_forms/rd_area_1_trust_single.html' context_object_name = 'contact' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') class RDAoneDelTrust(DeleteView): model = RDTrustPerson success_url = reverse_lazy('recoverdir') template_name = 'recoverdir/rd_elements_forms/rd_area_1_trust_del.html' context_object_name = 'contact' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({'active_link' : 'recoverdir'}) return context class RDAoneAddTrust(CreateView): model = RDTrustPerson success_url = reverse_lazy('recoverdir') form_class = RDTrustPersonF template_name = "recoverdir/rd_elements_forms/rd_area_1_addtrust.html" def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') 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 RDAoneUpdateTrust(UpdateView): model = RDTrustPerson success_url = reverse_lazy('recoverdir') form_class = RDTrustPersonF template_name = "recoverdir/rd_elements_forms/rd_area_1_addtrust.html" def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({'active_link' : 'recoverdir'}) return context ########################## ABSCHNITT 2 ################################## # Handlungsleitfaden Finanzen und Vorsorge class RDAtwoAddHLFV(CreateView): model = HandlungsleitfadenVF success_url = reverse_lazy('recoverdir') form_class = HLFVForm template_name = "recoverdir/rd_elements_forms/rd_area_2_addhlvf.html" def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') 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 RDAtwoUpdateFV(UpdateView): model = HandlungsleitfadenVF success_url = reverse_lazy('recoverdir') form_class = HLFVForm template_name = "recoverdir/rd_elements_forms/rd_area_2_addhlvf.html" def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({'active_link' : 'recoverdir'}) return context # Banken usw. class RDAtwoViewdeposit(DetailView): model = DepositVollmacht success_url = reverse_lazy('recoverdir') template_name = 'recoverdir/rd_elements_forms/rd_area_2_deposit_single.html' context_object_name = 'deposit' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') class RDAtwoDeldeposit(DeleteView): model = DepositVollmacht success_url = reverse_lazy('recoverdir') template_name = 'recoverdir/rd_elements_forms/rd_area_2_deposit_del.html' context_object_name = 'deposit' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({'active_link' : 'recoverdir'}) return context class RDAtwoAdddeposit(CreateView): model = DepositVollmacht success_url = reverse_lazy('recoverdir') form_class = DepositVollmachtF template_name = "recoverdir/rd_elements_forms/rd_area_2_adddeposit.html" def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') 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 RDAtwoUpdatedeposit(UpdateView): model = DepositVollmacht success_url = reverse_lazy('recoverdir') form_class = DepositVollmachtF template_name = "recoverdir/rd_elements_forms/rd_area_2_adddeposit.html" def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') 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 # ERGO Digitaler Versicherungsordner class RDAtwoViewergo(DetailView): model = ErgoVerDir success_url = reverse_lazy('recoverdir') template_name = 'recoverdir/rd_elements_forms/rd_area_2_ergo_single.html' context_object_name = 'ergo' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') class RDAtwoDelergo(DeleteView): model = ErgoVerDir success_url = reverse_lazy('recoverdir') template_name = 'recoverdir/rd_elements_forms/rd_area_2_ergo_del.html' context_object_name = 'ergo' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({'active_link' : 'recoverdir'}) return context class RDAtwoAddergo(CreateView): model = ErgoVerDir success_url = reverse_lazy('recoverdir') form_class = ErgoVerDirF template_name = "recoverdir/rd_elements_forms/rd_area_2_addergo.html" def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') 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 RDAtwoUpdateergo(UpdateView): model = ErgoVerDir success_url = reverse_lazy('recoverdir') form_class = ErgoVerDirF template_name = "recoverdir/rd_elements_forms/rd_area_2_addergo.html" def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') 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 # Online Banking class RDAtwoViewonlinebank(DetailView): model = OnlineBank success_url = reverse_lazy('recoverdir') template_name = 'recoverdir/rd_elements_forms/rd_area_2_onlinebank_single.html' context_object_name = 'onlinebank' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') class RDAtwoDelonlinebank(DeleteView): model = OnlineBank success_url = reverse_lazy('recoverdir') template_name = 'recoverdir/rd_elements_forms/rd_area_2_onlinebank_del.html' context_object_name = 'onlinebank' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({'active_link' : 'recoverdir'}) return context class RDAtwoAddonlinebank(CreateView): model = OnlineBank success_url = reverse_lazy('recoverdir') form_class = OnlineBankF template_name = "recoverdir/rd_elements_forms/rd_area_2_addonlinebank.html" def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') 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'] 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 RDAtwoUpdateonlinebank(UpdateView): model = OnlineBank success_url = reverse_lazy('recoverdir') form_class = OnlineBankF template_name = "recoverdir/rd_elements_forms/rd_area_2_addonlinebank.html" def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') 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 # 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' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') 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 dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') 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 dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') 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 dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') 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 # Digitaler Account class RDAfourViewdigitalaccount(DetailView): model = DigitalAccounts success_url = reverse_lazy('recoverdir') template_name = 'recoverdir/rd_elements_forms/rd_area_4_digitalaccount_single.html' context_object_name = 'account' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') class RDAfourDeldigitalaccount(DeleteView): model = DigitalAccounts success_url = reverse_lazy('recoverdir') template_name = 'recoverdir/rd_elements_forms/rd_area_4_digitalaccount_del.html' context_object_name = 'account' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({'active_link' : 'recoverdir'}) return context class RDAfourAdddigitalaccount(CreateView): model = DigitalAccounts success_url = reverse_lazy('recoverdir') form_class = DigitalAccountsF template_name = "recoverdir/rd_elements_forms/rd_area_4_adddigitalaccount.html" def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') 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'] 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 RDAfourUpdatedigitalaccount(UpdateView): model = DigitalAccounts success_url = reverse_lazy('recoverdir') form_class = DigitalAccountsF template_name = "recoverdir/rd_elements_forms/rd_area_4_adddigitalaccount.html" def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') 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 # 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' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') 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 dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') 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 dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') 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 dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') 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 # RDElse class RDAnineViewelse(DetailView): model = RDElse success_url = reverse_lazy('recoverdir') template_name = 'recoverdir/rd_elements_forms/rd_area_9_else_single.html' context_object_name = 'else' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') class RDAnineDelelse(DeleteView): model = RDElse success_url = reverse_lazy('recoverdir') template_name = 'recoverdir/rd_elements_forms/rd_area_9_else_del.html' context_object_name = 'ele' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({'active_link' : 'recoverdir'}) return context class RDAnineAddelse(CreateView): model = RDElse success_url = reverse_lazy('recoverdir') form_class = RDElseF template_name = "recoverdir/rd_elements_forms/rd_area_9_addelse.html" def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') 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 RDAnineUpdateelse(UpdateView): model = RDElse success_url = reverse_lazy('recoverdir') form_class = RDElseF template_name = "recoverdir/rd_elements_forms/rd_area_9_addelse.html" def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') 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 # 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' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') 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 dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') 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 dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') 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 dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') 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 ########################################## # Persönliches Schreiben class PLSingleHistory(DetailView): model = PersLetter template_name = 'recoverdir/rd_persletter_single.html' context_object_name = 'persletter' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') # Gewünschte Revision aufrufen def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({'active_link' : 'recoverdir'}) historyelements = PersLetter.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({ 'historyelement' : shown_element, }) return context class HLSingleHistory(DetailView): model = Handlungsleitfaden template_name = 'recoverdir/rd_elements_forms/rd_area_1_hl_single.html' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') # Gewünschte Revision aufrufen def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({'active_link' : 'recoverdir'}) historyelements = Handlungsleitfaden.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({ 'hl' : shown_element, 'history' : True }) return context # Handlungsleitfaden 2 class HLVFSingleHistory(DetailView): model = HandlungsleitfadenVF template_name = 'recoverdir/rd_elements_forms/rd_area_2_hl_single.html' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') # Gewünschte Revision aufrufen def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({'active_link' : 'recoverdir'}) historyelements = HandlungsleitfadenVF.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({ 'hlvf' : shown_element, 'history' : True }) return context # CONTACT class ContactSingleHistory(DetailView): model = RDContact template_name = 'recoverdir/rd_elements_forms/rd_area_1_contact_single.html' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') # Gewünschte Revision aufrufen def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({'active_link' : 'recoverdir'}) historyelements = RDContact.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({ 'contact' : shown_element, 'history' : True }) return context # CONTACT class TrustSingleHistory(DetailView): model = RDTrustPerson template_name = 'recoverdir/rd_elements_forms/rd_area_1_trust_single.html' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') # Gewünschte Revision aufrufen def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({'active_link' : 'recoverdir'}) historyelements = RDTrustPerson.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({ 'contact' : shown_element, 'history' : True }) return context # Bankenvollmacht class DepositSingleHistory(DetailView): model = DepositVollmacht template_name = 'recoverdir/rd_elements_forms/rd_area_2_deposit_single.html' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') # Gewünschte Revision aufrufen def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({'active_link' : 'recoverdir'}) historyelements = DepositVollmacht.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({ 'deposit' : shown_element, 'history' : True }) return context # DOCUMENT class DocumentSingleHistory(DetailView): model = Documents template_name = 'recoverdir/rd_doc_single.html' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') # Gewünschte Revision aufrufen def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({'active_link' : 'recoverdir'}) historyelements = Documents.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({ 'document' : shown_element, 'history' : True }) return context # Ergo Versicherungsordner class ErgoSingleHistory(DetailView): model = ErgoVerDir template_name = 'recoverdir/rd_elements_forms/rd_area_2_ergo_single.html' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') # Gewünschte Revision aufrufen def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({'active_link' : 'recoverdir'}) historyelements = ErgoVerDir.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({ 'ergo' : shown_element, 'history' : True }) return context # Online-Bank class OnlinebankSingleHistory(DetailView): model = OnlineBank template_name = 'recoverdir/rd_elements_forms/rd_area_2_onlinebank_single.html' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') # Gewünschte Revision aufrufen def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({'active_link' : 'recoverdir'}) historyelements = OnlineBank.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({ 'onlinebank' : shown_element, 'history' : True }) return context # StreamingAbo class StreamingSingleHistory(DetailView): model = StreamingAbo template_name = 'recoverdir/rd_elements_forms/rd_area_3_streamingabo_single.html' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') # 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 # Digitaler Account class DigitalAccountSingleHistory(DetailView): model = DigitalAccounts template_name = 'recoverdir/rd_elements_forms/rd_area_4_digitalaccount_single.html' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') # Gewünschte Revision aufrufen def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({'active_link' : 'recoverdir'}) historyelements = DigitalAccounts.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({ 'account' : shown_element, 'history' : True }) return context # Personal class PersonalSingleHistory(DetailView): model = Personal template_name = 'recoverdir/rd_elements_forms/rd_area_5_personal_single.html' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') # 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 # VETRTRAG class ContractSingleHistory(DetailView): model = RDContract template_name = 'recoverdir/rd_elements_forms/rd_area_7_contract_single.html' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') # 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): model = RDElse template_name = 'recoverdir/rd_elements_forms/rd_area_9_else_single.html' def dispatch(self, *args, **kwargs): if(checkForLogin(self)): return super().dispatch(*args, **kwargs) else: return redirect('recoverdir-login') # Gewünschte Revision aufrufen def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context.update({'active_link' : 'recoverdir'}) historyelements = RDElse.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({ 'else' : shown_element, 'history' : True }) return context