digitaleagenturnc/recoverdir/views.py

82 lines
2.3 KiB
Python

from django.shortcuts import render
from django.contrib.auth.mixins import LoginRequiredMixin
from django.views.generic import CreateView, ListView, UpdateView, DetailView, DeleteView
from .models import *
from .forms import *
from django.urls import reverse_lazy
# Create your views here.
class RecoverDirManagement(LoginRequiredMixin, ListView):
model = PersLetter
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})
return context
class PLSingle(DetailView):
model = PersLetter
template_name = 'recoverdir/rd_persletter_single.html'
context_object_name = 'persletter'
# 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 RecoverDirAddPL(CreateView):
model = PersLetter
success_url = reverse_lazy('recoverdir')
form_class = PersLetterForm
template_name = "recoverdir/rd_pers_add.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
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 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)