196 lines
7.0 KiB
Python
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") |