mysteriendrama/website/views.py

106 lines
5.2 KiB
Python

from django.shortcuts import render
from django.db.models import Sum
from .models import ContactForm, EssenForm, ReservierungForm, Reservierung, Essen
from django.core.mail import send_mail
from django import forms
# Create your views here.
def homepage(request):
return render(request, 'homepage.html')
def unterstuetzen(request):
return render(request, 'unterstuetzen.html')
def ueber(request):
return render(request, 'ueber.html')
def drama(request):
return render(request, 'drama.html')
def kontakt(request):
if request.method == 'POST':
contact_form = ContactForm(request.POST)
if contact_form.is_valid():
contact_form.save()
name = request.POST.get('name', '')
mail = request.POST.get('mail', '')
message = request.POST.get('message', '')
try:
send_mail('Kontaktanfrage von ' + name, message, 'webmailer@denkena-consulting.com', ['webmaster@denkena-consulting.com'], fail_silently=False)
send_mail('Nachricht erhalten', '''Sehr geehrter ''' + name + ''',
mit Dank bestätigt die Jugendgruppe Mysteriendrama den Erhalt Ihrer Nachricht. Wir werden sobald als möglich antworten.
Mit freundlichen Grüßen,
Ihre Jugendgruppe Mysteriendrama''', 'webmailer@denkena-consulting.com', [mail], fail_silently=False)
except BadHeaderError:
pass
return render(request, 'kontakt.html')
else:
contact_form = ContactForm()
context = {'contact_form': contact_form}
return render(request, 'kontakt.html', context)
def impressum(request):
return render(request, 'impressum.html')
def datenschutz(request):
return render(request, 'datenschutz.html')
def init_context():
essen_form = EssenForm()
summe_essen_b = Essen.objects.filter(auswahl__exact="ESSEN_B").count()
summe_essen_w = Essen.objects.filter(auswahl__exact="ESSEN_W").count()
summe_essen_l = Essen.objects.filter(auswahl__exact="ESSEN_L").count()
reservierung_form = ReservierungForm()
summe_b = Reservierung.objects.aggregate(Sum("anzahl_b"))['anzahl_b__sum']
if summe_b == None: summe_b = 0
summe_w = Reservierung.objects.aggregate(Sum("anzahl_w"))['anzahl_w__sum']
if summe_w == None: summe_w = 0
summe_l = Reservierung.objects.aggregate(Sum("anzahl_l"))['anzahl_l__sum']
if summe_l == None: summe_l = 0
if summe_b >= 200:
reservierung_form.fields["anzahl_b"].widget = forms.HiddenInput()
reservierung_form.fields["anzahl_b"].initial = 0
if summe_w >= 200:
reservierung_form.fields["anzahl_w"].widget = forms.HiddenInput()
reservierung_form.fields["anzahl_w"].initial = 0
if summe_l >= 200:
reservierung_form.fields["anzahl_l"].widget = forms.HiddenInput()
reservierung_form.fields["anzahl_l"].initial = 0
return {'essen_form': essen_form, 'reservierung_form': reservierung_form, 'summe_b': summe_b, 'summe_w': summe_w,'summe_l': summe_l,'summe_essen_b': summe_essen_b,'summe_essen_w': summe_essen_w,'summe_essen_l': summe_essen_l,}
def anmeldung(request):
if request.method == 'POST' and request.POST.get("form_type") == "essen":
essen_form = EssenForm(request.POST)
if essen_form.is_valid():
essen_form.save()
name = request.POST.get('name')
mail = request.POST.get('mail')
send_mail('Essensanmeldung erhalten!', '''Sehr geehrte/r ''' + name + ''',
hiermit möchten wir Ihnen den Erhalt Ihrer Essensanmeldung bestätigen.
Mit freundlichen Grüßen,
Ihr Team der Jugendgruppe Mysteriendrama''', 'webmailer@denkena-consulting.com', [mail, 'mysteriendrama@denkena-consulting.com','dhafner1964@hotmail.com',], fail_silently=False)
context = init_context()
return render(request, 'anmeldung.html', context)
if request.method == 'POST' and request.POST.get("form_type") == "reservierung":
reservierung_form = ReservierungForm(request.POST)
if reservierung_form.is_valid():
reservierung_form.save()
name = request.POST.get('name')
mail = request.POST.get('mail')
anzahl_b = request.POST.get('anzahl_b')
anzahl_w = request.POST.get('anzahl_w')
anzahl_l = request.POST.get('anzahl_l')
message_body = '''Sehr geehrte/r ''' + name + ''',\nhiermit möchten wir Ihnen den Erhalt Ihrer Sitzplatzreservierung bestätigen.\n'''
if int(anzahl_b) > 0: message_body += ('Sitzplätze in Böblingen: ' + anzahl_b + '.\n')
if int(anzahl_w) > 0: message_body += ('Sitzplätze in Wuppertal: ' + anzahl_w + '.\n')
if int(anzahl_l) > 0: message_body += ('Sitzplätze in Lübeck: ' + anzahl_l + '.\n')
message_body += ('''Mit freundlichen Grüßen,
Ihr Team der Jugendgruppe Mysteriendrama''')
send_mail('Reservierung erhalten!', message_body, 'webmailer@denkena-consulting.com', [mail, 'mysteriendrama@denkena-consulting.com','dhafner1964@hotmail.com',], fail_silently=False)
context = init_context()
return render(request, 'anmeldung.html', context)
if request.method == 'GET':
context = init_context()
return render(request, 'anmeldung.html', context)