updates to registration form, backend handling

This commit is contained in:
Federico Justus Denkena 2023-11-16 12:57:19 +01:00
parent 9299f2b893
commit e77199c339
Signed by: f-denkena
GPG Key ID: 28F91C66EE36F382
12 changed files with 130 additions and 23 deletions

View File

@ -18,7 +18,7 @@ from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from website.views import newspage, post, about, search, home, contact, datenschutz, impressum, anmeldung, tagungsplan, success, failure
from website.views import newspage, post, about, search, home, contact, datenschutz, impressum, anmeldung, tagungsplan, success, failure, mail
urlpatterns = [
path("", home, name = "homepage"),
@ -35,4 +35,5 @@ urlpatterns = [
path('success/', success, name = 'success'),
path('failure/', failure, name = 'failure'),
path('captcha/', include('captcha.urls')),
path('mail/', mail, name = 'mail'),
]

View File

@ -5,6 +5,7 @@ django-simple-captcha==0.5.20
Markdown==3.5.1
Pillow==10.1.0
psycopg==3.1.12
pymemcache==4.0.0
sqlparse==0.4.4
typing_extensions==4.8.0
whitenoise==6.6.0

19
templates/base_mail.html Normal file
View File

@ -0,0 +1,19 @@
{% load static %} {% load markdown_extras %}
<!DOCTYPE html>
<html lang="de">
<head>
<title>{% block title %}{% endblock title %}Im·Puls</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://im-puls.org/static/css/style.css">
<link rel="icon" href="https://im-puls.org/static/pictures/logo.webp">
</head>
<body>
<div class="wrapper dc-primary-background">
{% block content %}
{% endblock content %}
{% include "footer.html" %}
</div>
</body>
</html>

55
templates/mail.html Normal file
View File

@ -0,0 +1,55 @@
{% extends 'base_mail.html' %}
{% load static %}
{% block content %}
<div class="dc-container dc-center dc-padding-24">
<a href="https://im-puls.org"><img src="https://im-puls.org/static/pictures/logo.webp" style="width:264px;height:120px;display:grid;margin-left:auto;margin-right:auto" class="dc-padding-24"></a>
<h2 class="dc-center ">Herzlich Willkommen zur Im·Puls-Tagung, {{form.name}}</h2>
<p class="dc-center dc-large dc-padding-24">Hier kurz das wichtigste:
<h3 class="dc-center">Tagungsbeitrag: {% if form.rate_reduced == True %}<b>40€</b>{% else %}<b>70€</b>{% endif %}</h3>
<ul style="text-align:center;list-style-position:inside;">
<li>Bitte überweise den Teilnehmerbeitrag auf folgendes Konto:<br>
<b>IBAN: DE94 4306 0967 0063 7968 02 / BIC: GENODEM1GLS</b>
<li>Als Verwendungszweck bitte "Im-Puls 2024 {{form.name}}" angeben.
<li>Alternativ kannst du gerne auch am Tagungsbeginn in Bar bezahlen.
<li>Der Teilnehmerbeitrag richtet sich nach Anmeldezeit und Ermäßigung.
<li><b>Niemandem soll die Teilnahme aus finanziellen Gründen verwehrt bleiben. Bei finanziellen Schwierigkeiten wende dich bitte ans Tagungsbüro.</b>
</ul>
<h3 class="dc-center">Hinweise</h3>
<ul style="text-align:center;list-style-position:inside;">
<li>Das Tagungsbüro ist unter folgender Rufnummer erreichbar: 0151 70818415.
<li>Die Tagung beginnt am 14. Februar um 17:00, Du kannst gerne auch früher kommen.
<li>Bitte bring einen Schlafsack, eine Isomatte und Schreibzeug mit.
<li>Auf der gesamten Tagung herrscht Alkohol- und Drogenverbot.
<li>Bei weiteren Fragen kannst Du gerne mit dem Tagungsbüro Kontakt aufnehmen.<br>
</ul>
Es wünscht viel Freude bei der Tagung,<br>
Federico J. Denkena<br>
im Auftrag</p>
<hr style="border-top:2px solid #995f5e">
<div class="dc-container dc-page-background">
<h3>Deine Angaben</h3>
<div class="dc-half">
<p>Name: {{form.name}}</p>
<p>Mail: {{form.mail}}</p>
<p>Telefon: {{form.phone}}</p>
<p>Ermäßigter Beitrag? {% if form.rate_reduced == True %}<b>Ja</b>{% else %}<b>Nein</b>{% endif %}</p>
<p>Straße: {{form.address_street}}</p>
<p>PLZ: {{form.address_plz}}</p>
<p>Stadt: {{form.address_town}}</p>
<p>Geburtsdatum: {{form.birthdate}}</p>
</div>
<div class="dc-half">
<p>Geschlecht: {{form.gender}}</p>
<p>Essenswunsch: {{form.food}}</p>
<p>Musikinstrument: {{form.music}}</p>
<p>Kuchen dabei? {% if form.cake == True %}<b>Ja</b>{% else %}<b>Nein</b>{% endif %}</p>
<p>Adresse für alle Teilnehmer veröffentlichen? {% if form.publish_address == True %}<b>Ja</b>{% else %}<b>Nein</b>{% endif %}</p>
<p>Telefonnummer für alle Teilnehmer veröffentlichen? {% if form.publish_phone == True %}<b>Ja</b>{% else %}<b>Nein</b>{% endif %}</p>
<p>Wie du von der Tagung erfahren hast: {{form.info}}</p>
<p>Weitere Nachrichten an das Team: {{form.message}}</p>
</div>
</div>
</div>
</div>
{% endblock content %}

38
templates/mail.txt Normal file
View File

@ -0,0 +1,38 @@
Herzlich Willkommen zur Im·Puls-Tagung, {{form.name}}
Hier kurz das wichtigste:
Tagungsbeitrag: {% if form.rate_reduced == True %}40€{% else %}70€{% endif %}
- Bitte überweise den Teilnehmerbeitrag auf folgendes Konto:
IBAN: DE94 4306 0967 0063 7968 02 / BIC: GENODEM1GLS
- Als Vergewendungszweck bitte "Im-Puls 2024 {{form.name}}" angeben.
- Alternativ kannst du gerne auch am Tagungsbeginn in Bar bezahlen.
- Der Teilnehmerbeitrag richtet sich nach Anmeldezeit und Ermäßigung.
- Niemandem soll die Teilnahme aus finanziellen Gründen verwehrt bleiben. Bei finanziellen Schwierigkeiten wende dich bitte ans Tagungsbüro.
Hinweise
- 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
-----------------------------------------
Deine Angaben
Name: {{form.name}}
Mail: {{form.mail}}
Telefon: {{form.phone}}
Ermäßigter Beitrag? {% if form.rate_reduced == True %}Ja{% else %}Nein{% endif %}
Straße: {{form.address_street}}
PLZ: {{form.address_plz}}
Stadt: {{form.address_town}}
Geburtsdatum: {{form.birthdate}}
Geschlecht: {{form.gender}}
Essenswunsch: {{form.food}}
Musikinstrument: {{form.music}}
Kuchen dabei? {{form.cake}}
Adresse für alle Teilnehmer veröffentlichen? {{form.publish_address}}
Telefonnummer für alle Teilnehmer veröffentlichen? {{form.publish_phone}}
Wie du von der Tagung erfahren hast: {{form.info}}
Weitere Nachrichten an das Team: {{form.message}}

View File

@ -77,6 +77,9 @@ class Registrant(models.Model):
timestamp = models.DateTimeField(auto_now_add=True)
payed = models.BooleanField(default=False)
def __str__(self):
return self.name
class RegisterForm(ModelForm):
captcha = CaptchaField()
class Meta:

View File

@ -1,7 +1,8 @@
from django.shortcuts import render, redirect
from django.db.models import Q
from .models import Author, Category, Post, ContactForm, RegisterForm
from .models import Author, Category, Post, ContactForm, Registrant, RegisterForm
from django.core.mail import send_mail
from django.template.loader import render_to_string
# Create your views here.
@ -84,32 +85,21 @@ def success(request):
def failure(request):
return render(request, 'failure.html')
def mail(request):
#context = {"form": Registrant.objects.all()[6]}
return render(request, 'mail.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 folgendes Konto:
IBAN: DE94 4306 0967 0063 7968 02 / BIC: GENODEM1GLS
- Als Vergewendungszweck bitte "Im-Puls 2024 ''' + name + '''" angeben.
- 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
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)
register_form = RegisterForm()
return redirect('/success/')
else: