digitaleagenturnc/organizer/views.py

196 lines
7.0 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 QuickLinks, AGContacts, AGPassword
from .forms import OrganizerAddQlForm, OrganizerAddContact, OrganizerUpdateContact, AddAGPassword
from django.contrib import messages
from django.shortcuts import redirect
from django.http import HttpResponse, HttpResponseRedirect
from django.contrib.auth.decorators import login_required
from django.urls import reverse_lazy
# Create your views here.
class OrganizerManagement(LoginRequiredMixin, ListView):
model = QuickLinks
# Adding active_link
# Loading only user same agency
# Change context and return for template-data
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
quicklinks = QuickLinks.objects.filter(agency__pk=self.request.user.profile.agency.pk).order_by('name')
context.update({'active_link' : 'organizer', 'quicklinks' : quicklinks, 'contacts' : AGContacts.objects.filter(agency__pk=self.request.user.profile.agency.pk).order_by('last_name'), 'agpass' : AGPassword.objects.filter(agency__pk=self.request.user.profile.agency.pk).order_by('name')})
return context
class OrganizerAdd(LoginRequiredMixin, CreateView):
model = QuickLinks
success_url = reverse_lazy('organizer-management')
form_class = OrganizerAddQlForm
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context.update({'active_link' : 'organizer'})
return context
def form_valid(self, form):
# Send message to the site
messages.success(self.request, f'Quicklink angelegt!')
# SAVE OBJECTS TO SIGNALE!
form.instance.agency = self.request.user.profile.agency
return super().form_valid(form)
class OrganizerDeleteView(LoginRequiredMixin, DeleteView):
model = QuickLinks
success_url = reverse_lazy('organizer-management')
template_name = 'organizer/ql_confirm_delete.html'
def delete(self, request, *args, **kwargs):
response = super(OrganizerDeleteView, self).delete(request, *args, **kwargs)
messages.success(request, f'Quicklink wurde gelöscht!')
return response
def get_context_data(self, **kwargs):
context = super(OrganizerDeleteView, self).get_context_data(**kwargs)
context['active_link'] = 'organizer'
return context
class OrganizerUpdateView(LoginRequiredMixin, UpdateView):
model = QuickLinks
template_name = 'organizer/ql_update.html'
success_url = reverse_lazy('organizer-management')
form_class = OrganizerAddQlForm
def form_valid(self, form):
# Send message to the site
messages.success(self.request, f'Quicklink aktualisiert!')
return super().form_valid(form)
def get_context_data(self, **kwargs):
context = super(OrganizerUpdateView, self).get_context_data(**kwargs)
context['active_link'] = 'organizer'
return context
# CONTACTS
class OrganizerAddContact(LoginRequiredMixin, CreateView):
model = AGContacts
success_url = reverse_lazy('organizer-management')
form_class = OrganizerAddContact
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context.update({'active_link' : 'organizer'})
return context
def form_valid(self, form):
# Send message to the site
messages.success(self.request, f'Kontakt angelegt!')
# SAVE OBJECTS TO SIGNALE!
form.instance.agency = self.request.user.profile.agency
return super().form_valid(form)
class OrganizerDelContact(LoginRequiredMixin, DeleteView):
model = AGContacts
success_url = reverse_lazy('organizer-management')
template_name = 'organizer/contact_delete.html'
def delete(self, request, *args, **kwargs):
response = super(OrganizerDelContact, self).delete(request, *args, **kwargs)
messages.success(request, f'Kontakt wurde gelöscht!')
return response
def get_context_data(self, **kwargs):
context = super(OrganizerDelContact, self).get_context_data(**kwargs)
context['active_link'] = 'organizer'
return context
class OrganizerUpdateContact(LoginRequiredMixin, UpdateView):
model = AGContacts
template_name = 'organizer/contact_update.html'
success_url = reverse_lazy('organizer-management')
form_class = OrganizerUpdateContact
def form_valid(self, form):
# Send message to the site
messages.success(self.request, f'Kontakt aktualisiert!')
return super().form_valid(form)
def get_context_data(self, **kwargs):
context = super(OrganizerUpdateContact, self).get_context_data(**kwargs)
context['active_link'] = 'organizer'
return context
# PASSWORDS
class OrganizerAddPassword(LoginRequiredMixin, CreateView):
model = AGPassword
success_url = reverse_lazy('organizer-management')
form_class = AddAGPassword
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context.update({'active_link' : 'organizer'})
return context
def form_valid(self, form):
# Send message to the site
messages.success(self.request, f'Passwort angelegt!')
# SAVE OBJECTS TO SIGNALE!
form.instance.agency = self.request.user.profile.agency
return super().form_valid(form)
class OrganizerDelPassword(LoginRequiredMixin, DeleteView):
model = AGPassword
success_url = reverse_lazy('organizer-management')
template_name = 'organizer/agpass_delete.html'
def delete(self, request, *args, **kwargs):
response = super(OrganizerDelPassword, self).delete(request, *args, **kwargs)
messages.success(request, f'Passwort wurde gelöscht!')
return response
def get_context_data(self, **kwargs):
context = super(OrganizerDelPassword, self).get_context_data(**kwargs)
context['active_link'] = 'organizer'
return context
class OrganizerUpdatePassword(LoginRequiredMixin, UpdateView):
model = AGPassword
template_name = 'organizer/agpass_update.html'
success_url = reverse_lazy('organizer-management')
form_class = AddAGPassword
def form_valid(self, form):
# Send message to the site
messages.success(self.request, f'Kontakt aktualisiert!')
return super().form_valid(form)
def get_context_data(self, **kwargs):
context = super(OrganizerUpdatePassword, self).get_context_data(**kwargs)
context['active_link'] = 'organizer'
return context
@login_required
def loaddefaultql(request):
if request.method == 'GET':
if request.GET['action'] == 'adddefql':
defaultlinks = [
["EASY", "https://easy.ergo.com "],
["ERGO Ansprechpartner Navigator", "http://ansprechpartner-navigator.de/ "],
["ERGO Lokales Marketing", "https://ergo.ergo-mein-lokales-marketing.de/marcapo_platform/WelcomePre.cms "],
["ERGO Meine Druckstücke", "https://www.ergo-meine-druckstuecke.de/?client-check=2 "],
["ERGO Vertriebsportal", "https://vertriebsportal.ergo.com/"],
["myVVE", "https://www.myvve.de/"],
["Wiki", "https://wiki.digitale-agentur.com/"]
]
for ele in defaultlinks:
print(ele[0] + " " + ele[1])
tempql = QuickLinks(agency=request.user.profile.agency, name=ele[0], link=ele[1])
tempql.save()
return redirect("ql-addql")
return redirect("ql-addql")