You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
219 lines
7.2 KiB
219 lines
7.2 KiB
from django.shortcuts import render,redirect,reverse
|
|
from django.http import HttpResponse, HttpResponseNotFound, Http404,HttpResponseRedirect
|
|
|
|
#zeitgeraffel
|
|
from django.utils import timezone
|
|
from django.core.exceptions import ObjectDoesNotExist
|
|
import datetime
|
|
import pytz
|
|
#
|
|
from django.conf import settings as conf_settings
|
|
# Model related
|
|
from hpst.models import Termin
|
|
from hpst.models import Kontakt
|
|
from hpst.forms import KontaktForm
|
|
from django.db.models import Q
|
|
#Email
|
|
from django.core.mail import BadHeaderError,send_mail
|
|
|
|
|
|
# Hauptseite
|
|
def index(request):
|
|
termine=Termin.objects.filter(Q(date__gte=timezone.now())|Q(end_date__gte=timezone.now())).order_by( 'date')
|
|
#print("Here in view")
|
|
#print(conf_settings.DEBUG(Q(creator=owner) | Q(moderated=False)))
|
|
context ={
|
|
"termine":termine,
|
|
"form":KontaktForm(initial={'subject': 'Kontaktformular - Index - sinnestau.de','stack':0,})
|
|
}
|
|
return render(request, "index.html", context)
|
|
|
|
def wildnispaedagogik(request):
|
|
termine=Termin.objects.filter(Q(date__gte=timezone.now())|Q(end_date__gte=timezone.now())).filter(termintyp__in=['P']).order_by( 'date')
|
|
context ={
|
|
"termine":termine,
|
|
}
|
|
return render(request, "wildnispaedagogik.html", context)
|
|
|
|
def kinderfreizeit(request):
|
|
termine=Termin.objects.filter(Q(date__gte=timezone.now())|Q(end_date__gte=timezone.now())).filter(termintyp__in=['K','W']).order_by( 'date')
|
|
context ={
|
|
"termine":termine,
|
|
}
|
|
return render(request, "kinderfreizeit.html", context)
|
|
|
|
def lamatour(request):
|
|
termine=Termin.objects.filter(Q(date__gte=timezone.now())|Q(end_date__gte=timezone.now())).filter(termintyp='L').order_by('date')
|
|
context ={
|
|
"termine":termine,
|
|
"form":KontaktForm(initial={'subject': 'Kontaktformular - Lamatour - sinnestau.de','stack':0,})
|
|
}
|
|
return render(request, "lamatour.html", context)
|
|
|
|
def externereferentin(request):
|
|
termine=Termin.objects.filter(date__gt=timezone.now()).order_by( 'date')
|
|
context ={
|
|
"termine":termine,
|
|
}
|
|
# return response with template and context
|
|
return render(request, "externereferentin.html", context)
|
|
|
|
def honigmassage(request):
|
|
termine=Termin.objects.filter(date__gt=timezone.now()).order_by( 'date')
|
|
context ={
|
|
"termine":termine,
|
|
}
|
|
return render(request, "honigmassage.html", context)
|
|
|
|
def psychologischeberatung(request):
|
|
termine=Termin.objects.filter(date__gt=timezone.now()).order_by( 'date')
|
|
context ={
|
|
"termine":termine,
|
|
}
|
|
return render(request, "psychologischeberatung.html", context)
|
|
|
|
def pflanzenheilkunde(request):
|
|
termine=Termin.objects.filter(date__gt=timezone.now()).order_by( 'date')
|
|
context ={
|
|
"termine":termine,
|
|
}
|
|
return render(request, "pflanzenheilkunde.html", context)
|
|
|
|
def ohrakupunktur(request):
|
|
termine=Termin.objects.filter(date__gt=timezone.now()).order_by( 'date')
|
|
context ={
|
|
"termine":termine,
|
|
}
|
|
return render(request, "ohrakupunktur.html", context)
|
|
|
|
def termin(request,tid):
|
|
#print (tid)
|
|
error=""
|
|
try:
|
|
termin=Termin.objects.get(id=tid)
|
|
except ObjectDoesNotExist:
|
|
r_message = {
|
|
"titel": "404",
|
|
"text": "Dieser Termin existiert nicht!",
|
|
"exception":None
|
|
}
|
|
return render(request, "404.html", {'message':r_message})
|
|
|
|
terminvorbei=False
|
|
if((termin.end_date == None)):
|
|
if(termin.date<datetime.date.today()):
|
|
terminvorbei=True
|
|
else:
|
|
if(termin.end_date<datetime.date.today()):
|
|
terminvorbei=True
|
|
if(terminvorbei):
|
|
r_message = {
|
|
"titel": "404",
|
|
"text": "Dieser Termin liegt in der Vergangenheit!",
|
|
"exception":None
|
|
}
|
|
return render(request, "404.html", {'message':r_message})
|
|
if termin.showform:
|
|
form = KontaktForm(initial={'subject': 'Kontaktformular - '+termin.titel+' - sinnestau.de',})
|
|
else:form=None
|
|
|
|
if(termin.uhrzeit==datetime.time(0)):termin.showuhrzeit=False
|
|
else:termin.showuhrzeit=True
|
|
#print(termin.uhrzeit)
|
|
context ={
|
|
"termin":termin,
|
|
"error":error,
|
|
"form":form,
|
|
}
|
|
return render(request, "termin.html", context)
|
|
|
|
def impressum(request):
|
|
cookies=request.COOKIES
|
|
#print(cookies)
|
|
error="Kein Impressum"
|
|
context ={
|
|
"cookies":cookies,
|
|
}
|
|
# return response with template and context
|
|
return render(request, "impressum.html", context)
|
|
|
|
def contactView(request):
|
|
r_message = {
|
|
"titel": "Kontaktformular",
|
|
"color": "w3-yellow",
|
|
"text": 'Hier das Kontaktformular',
|
|
"error":"",
|
|
}
|
|
if request.method == 'GET':
|
|
r_message['titel']="Kontakt Form"
|
|
form = KontaktForm(initial={'subject': 'Kontaktformular - Kontakt - sinnestau.de',})
|
|
else:
|
|
#print("havepost")
|
|
form = KontaktForm(request.POST)
|
|
if form.is_valid():
|
|
#print("form valid")
|
|
subject = form.cleaned_data['subject']
|
|
from_email = form.cleaned_data['from_email']
|
|
message = form.cleaned_data['message']
|
|
name = form.cleaned_data['name']
|
|
text=name+' - '+from_email+' schrieb\n.........................\n'+message
|
|
newkon=Kontakt.objects.create(
|
|
name=name,
|
|
subject=subject,
|
|
email=from_email,
|
|
text=text
|
|
)
|
|
r_message['titel']="Vielen Dank "+name
|
|
r_message['color']="w3-green"
|
|
r_message['text']="Wir haben Ihre Mitteilung erhalten!"
|
|
form=None
|
|
try:
|
|
send_mail(subject, text, from_email , ['info@sinnes-tau.de'])
|
|
# send_mail(subject, text, from_email , ['peter@kuntner.de'])
|
|
except BadHeaderError:
|
|
return HttpResponse('Invalid header found.')
|
|
#return redirect('success')
|
|
else:
|
|
print(form.errors)
|
|
r_message['titel']="Fehler"
|
|
r_message['color']="w3-orange"
|
|
r_message['text']="Ungültiges Formular!"
|
|
estr=str(form.errors)
|
|
r_message['error']=estr.replace('__all__','Allgemeiner Fehler')
|
|
form=None
|
|
return render(request, "email.html", {'form': form,'message':r_message})
|
|
|
|
def successView(request):
|
|
return HttpResponse('Success! Thank you for your message.')
|
|
|
|
def page_not_found_view(request, exception):
|
|
print("pagenotfoundview")
|
|
r_message = {
|
|
"titel": "404",
|
|
"text": "Seite wurde nicht gefunden",
|
|
"exception":exception
|
|
}
|
|
return render(request, "404.html", {'message':r_message})
|
|
|
|
def error_view(request):
|
|
r_message = {
|
|
"titel": "404",
|
|
"text": "Fehlerseite",
|
|
}
|
|
return render(request, "404.html", {'message':r_message})
|
|
|
|
def bad_request_view(request, exception):
|
|
r_message = {
|
|
"titel": "404",
|
|
"text": "Falscher Aufruf",
|
|
"exception":exception
|
|
}
|
|
return render(request, "404.html", {'message':r_message})
|
|
|
|
def permission_denied_view(request, exception):
|
|
r_message = {
|
|
"titel": "404",
|
|
"text": "Kein Berechtigung",
|
|
"exception":exception
|
|
}
|
|
return render(request, "404.html", {'message':r_message})
|
|
|