diff --git a/static/css/style.css b/static/css/style.css index f7948ccd..824c0d1a 100644 --- a/static/css/style.css +++ b/static/css/style.css @@ -13,6 +13,7 @@ sub{bottom:-0.25em}sup{top:-0.5em}figure{margin:1em 40px}img{border-style:none} code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible} button,input,select,textarea,optgroup{font:inherit;margin:0}optgroup{font-weight:bold} #id_gender,#id_food{display:flex;justify-content:center} +label{padding-right:7px} input{padding:8px;border:1px solid #ccc;border-radius:4px;height:32px} button,input{overflow:visible}button,select{text-transform:none} button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button} diff --git a/templates/anmeldung.html b/templates/anmeldung.html index 838c0b1f..b4f42174 100644 --- a/templates/anmeldung.html +++ b/templates/anmeldung.html @@ -4,11 +4,12 @@ {% block content %}
-

Anmeldung

+

Anmeldung

-
+
{% csrf_token %} +
{{ register_form.non_field_errors }}
@@ -35,6 +36,7 @@ {{ register_form.birthdate.errors }}
{{register_form.birthdate }}
+
{{ register_form.gender.errors }} @@ -59,19 +61,15 @@ {{ register_form.publish_phone.errors }}
{{register_form.publish_phone }}
+
{{ register_form.info.errors }}
{{register_form.info }}
-
{{ register_form.message.errors }}
{{register_form.message }}
- - - -
diff --git a/website/__pycache__/admin.cpython-311.pyc b/website/__pycache__/admin.cpython-311.pyc index f19ec6e5..59a49482 100644 Binary files a/website/__pycache__/admin.cpython-311.pyc and b/website/__pycache__/admin.cpython-311.pyc differ diff --git a/website/__pycache__/models.cpython-311.pyc b/website/__pycache__/models.cpython-311.pyc index 091fe711..fc621c9c 100644 Binary files a/website/__pycache__/models.cpython-311.pyc and b/website/__pycache__/models.cpython-311.pyc differ diff --git a/website/__pycache__/views.cpython-311.pyc b/website/__pycache__/views.cpython-311.pyc index dad71b54..236ce65c 100644 Binary files a/website/__pycache__/views.cpython-311.pyc and b/website/__pycache__/views.cpython-311.pyc differ diff --git a/website/admin.py b/website/admin.py index 8c38f3f3..abe46b51 100644 --- a/website/admin.py +++ b/website/admin.py @@ -1,3 +1,4 @@ from django.contrib import admin - +from .models import Registrant # Register your models here. +admin.site.register(Registrant) diff --git a/website/migrations/0004_rename_address_registrant_address_street_and_more.py b/website/migrations/0004_rename_address_registrant_address_street_and_more.py new file mode 100644 index 00000000..e3120ddf --- /dev/null +++ b/website/migrations/0004_rename_address_registrant_address_street_and_more.py @@ -0,0 +1,30 @@ +# Generated by Django 4.2.6 on 2023-10-24 09:02 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('website', '0003_registrant_slug_alter_registrant_address'), + ] + + operations = [ + migrations.RenameField( + model_name='registrant', + old_name='address', + new_name='address_street', + ), + migrations.AddField( + model_name='registrant', + name='address_plz', + field=models.CharField(default=0, max_length=7), + preserve_default=False, + ), + migrations.AddField( + model_name='registrant', + name='address_town', + field=models.CharField(default=0, max_length=33), + preserve_default=False, + ), + ] diff --git a/website/models.py b/website/models.py index e1929586..01e5aae6 100644 --- a/website/models.py +++ b/website/models.py @@ -53,7 +53,9 @@ class Registrant(models.Model): mail = models.EmailField() phone = models.CharField(max_length=21) rate_reduced = models.BooleanField() - address = models.CharField(max_length=256) + address_street = models.CharField(max_length=256) + address_plz = models.CharField(max_length=7) + address_town = models.CharField(max_length=33) birthdate = models.DateField() gender = models.CharField(max_length=32, blank=False, choices=GESCHLECHTER) food = models.CharField(max_length=32, blank=False, choices=ERNÄHRUNG) @@ -72,6 +74,6 @@ class Registrant(models.Model): class RegisterForm(ModelForm): class Meta: model = Registrant - fields = ["name","mail","phone","rate_reduced","address","birthdate","gender","food","music","cake","publish_address","publish_phone","info","message"] + fields = ["name","mail","phone","rate_reduced","address_street","address_plz","address_town","birthdate","gender","food","music","cake","publish_address","publish_phone","info","message"] gender = forms.ChoiceField(widget=forms.RadioSelect,choices=GESCHLECHTER) food = forms.ChoiceField(widget=forms.RadioSelect,choices=ERNÄHRUNG) diff --git a/website/views.py b/website/views.py index 028b06be..973847bb 100644 --- a/website/views.py +++ b/website/views.py @@ -74,6 +74,17 @@ def impressum(request): return render(request, 'impressum.html') def anmeldung(request): - register_form = RegisterForm() + if request.method == 'POST': + register_form = RegisterForm(request.POST) + if register_form.is_valid(): + register_form.save() + register_form = RegisterForm() + else: + return render(request, 'homepage.html') + try: + if not register_form: + register_form = RegisterForm() + except UnboundLocalError: + register_form = RegisterForm() context = {"register_form": register_form} return render(request, 'anmeldung.html', context)