2023-10-03 17:55:41 +02:00
from django . shortcuts import render , redirect
from django . db . models import Q
2023-11-16 12:57:19 +01:00
from . models import Author , Category , Post , ContactForm , Registrant , RegisterForm
2023-10-03 17:55:41 +02:00
from django . core . mail import send_mail
2023-11-16 12:57:19 +01:00
from django . template . loader import render_to_string
2023-10-03 17:55:41 +02:00
# Create your views here.
def newspage ( request ) :
categories = Category . objects . all ( )
featured = Post . objects . filter ( featured = True )
latest = Post . objects . order_by ( ' -timestamp ' ) [ 0 : 3 ]
context = {
' featured ' : featured ,
' latest ' : latest ,
' categories ' : categories ,
}
return render ( request , ' newspage.html ' , context )
def about ( request ) :
return render ( request , ' about_page.html ' )
def post ( request , slug ) :
post = Post . objects . get ( slug = slug )
context = {
' post ' : post ,
}
return render ( request , ' post.html ' , context )
def search ( request ) :
queryset = Post . objects . all ( )
query = request . GET . get ( ' q ' )
if query :
queryset = queryset . filter (
Q ( title__icontains = query ) |
Q ( overview__icontains = query )
) . values ( )
context = {
' post_list ' : queryset
}
return render ( request , ' search.html ' , context )
def home ( request ) :
return render ( request , ' homepage.html ' )
def contact ( request ) :
if request . method == ' POST ' :
contact_form = ContactForm ( request . POST )
if contact_form . is_valid ( ) :
contact_form . save ( )
pseudonym = request . POST . get ( ' pseudonym ' , ' ' )
betreff = request . POST . get ( ' betreff ' , ' ' )
nachricht = request . POST . get ( ' nachricht ' , ' ' )
mail = request . POST . get ( ' mail ' , ' ' )
try :
send_mail ( betreff , nachricht , ' webmailer@denkena-consulting.com ' , [ ' webmaster@denkena-consulting.com ' ] , fail_silently = False )
if mail :
send_mail ( ' Nachricht erhalten ' , ''' Sehr geehrter ''' + pseudonym + ''' ,
mit Dank bestätigt Ihr Im - Puls - Team den Erhalt Ihrer Nachricht . Wir werden sobald als möglich antworten .
Mit freundlichen Grüßen ,
Federico J . Denkena
im Auftrag ''' , ' webmailer@denkena-consulting.com ' , [mail], fail_silently=False)
except BadHeaderError :
pass
2023-11-06 15:07:35 +01:00
return redirect ( ' /success/ ' )
else :
return redirect ( ' /failure/ ' )
2023-10-03 17:55:41 +02:00
contact_form = ContactForm ( )
context = { ' contact_form ' : contact_form }
return render ( request , ' contact.html ' , context )
def datenschutz ( request ) :
return render ( request , ' datenschutz.html ' )
def impressum ( request ) :
return render ( request , ' impressum.html ' )
2023-10-03 21:32:44 +02:00
2023-11-03 16:47:44 +01:00
def tagungsplan ( request ) :
return render ( request , ' tagungsplan.html ' )
2023-12-13 19:01:17 +01:00
def arbeitsgruppen ( request ) :
return render ( request , ' arbeitsgruppen.html ' )
2023-11-06 14:48:11 +01:00
def success ( request ) :
return render ( request , ' success.html ' )
def failure ( request ) :
return render ( request , ' failure.html ' )
2023-11-16 12:57:19 +01:00
def mail ( request ) :
#context = {"form": Registrant.objects.all()[6]}
return render ( request , ' mail.html ' , )
2023-10-03 21:32:44 +02:00
def anmeldung ( request ) :
2023-10-24 11:02:47 +02:00
if request . method == ' POST ' :
register_form = RegisterForm ( request . POST )
if register_form . is_valid ( ) :
register_form . save ( )
2023-11-16 12:57:19 +01:00
form = register_form . cleaned_data
mail = register_form . cleaned_data [ " mail " ]
msg_plain = render_to_string ( ' mail.txt ' , { " form " : form } )
msg_html = render_to_string ( ' mail.html ' , { " form " : form } )
send_mail ( ' Herzlich Willkommen zur Im·Puls-Tagung ' , msg_plain , ' webmailer@denkena-consulting.com ' , [ mail ] , fail_silently = False , html_message = msg_html )
send_mail ( ' Herzlich Willkommen zur Im·Puls-Tagung ' , msg_plain , ' webmailer@denkena-consulting.com ' , [ " xenia.medvedeva@posteo.de " , " buero@im-puls.org " , " webmaster@denkena-consulting.com " ] , fail_silently = False , html_message = msg_html )
2023-10-24 11:02:47 +02:00
register_form = RegisterForm ( )
2023-11-06 15:07:35 +01:00
return redirect ( ' /success/ ' )
2023-10-24 11:02:47 +02:00
else :
2023-11-06 15:07:35 +01:00
return redirect ( ' /failure/ ' )
2023-10-24 11:02:47 +02:00
try :
if not register_form :
register_form = RegisterForm ( )
except UnboundLocalError :
register_form = RegisterForm ( )
2023-10-04 21:35:26 +02:00
context = { " register_form " : register_form }
2023-10-04 21:06:28 +02:00
return render ( request , ' anmeldung.html ' , context )