from django.shortcuts import render, redirect from django.db.models import Q from .models import Author, Category, Post, ContactForm, RegisterForm from django.core.mail import send_mail # 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 return redirect('/success/') else: return redirect('/failure/') 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') def tagungsplan(request): return render(request, 'tagungsplan.html') def success(request): return render(request, 'success.html') def failure(request): return render(request, 'failure.html') def anmeldung(request): if request.method == 'POST': register_form = RegisterForm(request.POST) if register_form.is_valid(): register_form.save() name = request.POST.get('name', '') mail = request.POST.get('mail', '') try: send_mail('Herzlich Willkommen zur Im·Puls-Tagung', '''Sehr geehrter ''' + name + ''', vielen Dank für Deine Anmeldung zur Im·Puls-Tagung. Hier kurz das wichtigste: - Bitte überweise den Teilnehmerbeitrag auf folgende IBAN: - Alternativ kannst du gerne auch am Tagungsbeginn in Bar bezahlen. - Der Teilnehmerbeitrag richtet sich nach Anmeldezeit und Ermäßigung. - Das Tagungsbüro ist unter folgender Rufnummer erreichbar: 0151 70818415. - Die Tagung beginnt am 14. Februar um 17:00, Du kannst gerne auch früher kommen. - Bitte bring einen Schlafsack, eine Isomatte und Schreibzeug mit. - Auf der gesamten Tagung herrscht Alkohol- und Drogenverbot. Bei weiteren Fragen kannst Du gerne mit dem Tagungsbüro Kontakt aufnehmen. Es wünscht viel Freude bei der Tagung, Federico J. Denkena im Auftrag''', 'webmailer@denkena-consulting.com', [mail], fail_silently=False) except BadHeaderError: pass register_form = RegisterForm() return redirect('/success/') else: return redirect('/failure/') try: if not register_form: register_form = RegisterForm() except UnboundLocalError: register_form = RegisterForm() context = {"register_form": register_form} return render(request, 'anmeldung.html', context)