diff options
author | Philip Sargent <philip.sargent@gmail.com> | 2025-01-15 14:34:29 +0000 |
---|---|---|
committer | Philip Sargent <philip.sargent@gmail.com> | 2025-01-15 14:34:29 +0000 |
commit | d31777dc8d008a1cea0c611071f0c64ed72e9542 (patch) | |
tree | 16e514fe4fdc7dfe5d0c549b9cd2adde204348cd /core | |
parent | 49c0c0fe3ad054704329ad5204446056487e2424 (diff) | |
download | troggle-d31777dc8d008a1cea0c611071f0c64ed72e9542.tar.gz troggle-d31777dc8d008a1cea0c611071f0c64ed72e9542.tar.bz2 troggle-d31777dc8d008a1cea0c611071f0c64ed72e9542.zip |
initial signup form, copy of PHP
Diffstat (limited to 'core')
-rw-r--r-- | core/views/expo.py | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/core/views/expo.py b/core/views/expo.py index 019df18..a6abfc1 100644 --- a/core/views/expo.py +++ b/core/views/expo.py @@ -69,6 +69,33 @@ def spider(request, _): return render(request, "pagenotfound.html", {"path": path}, status=404) # return redirect("/?#") # so that suffixes applied by spider are no longer part of the url +@ensure_csrf_cookie +def signup(request): + if request.method == "POST": # If the form has been submitted... + pageform = ExpoSignupForm(request.POST) # A form bound to the POST data + if pageform.is_valid(): + print(f"form OK") + who = pageform.cleaned_data["name"] + who = git_string(editor) + print(f"{who=}") + return render( + request, + "signup.html", + {"form": pageform, + "year": "2025", "dates": "30th June - 3rd August", + "name": f"{who}", + } + ) + else: + pageform = ExpoSignupForm(initial={"allergies":"None", "medication":"None", "medic_info":"None", }) + return render( + request, + "signup.html", + {"form": pageform, + "year": "2025", "dates": "30th June - 3rd August", + "name": "", "kinname": ""}, + ) + def map(request): """Serves unadorned the expoweb/map/slippy/map.html file""" fn = Path(settings.EXPOWEB, "map", "slippy", "map.html") @@ -550,3 +577,47 @@ class ExpoPageForm(forms.Form): label = "Editor" ) +class ExpoSignupForm(forms.Form): + name = forms.CharField(label='Full name', max_length=100, widget=forms.TextInput(attrs={'tabindex': 1})) + address = forms.CharField(widget=forms.Textarea(attrs={'rows': 7, 'cols': 20, 'tabindex': 2})) + phone = forms.CharField(max_length=15, widget=forms.TextInput(attrs={'tabindex': 3})) + email = forms.EmailField(widget=forms.TextInput(attrs={'tabindex': 4})) + + kinname = forms.CharField(label='Next of Kin name', max_length=100, widget=forms.TextInput(attrs={'tabindex': 5})) + kinaddress = forms.CharField(widget=forms.Textarea(attrs={'rows': 7, 'cols': 20, 'tabindex': 6})) + kinphone = forms.CharField(max_length=15, widget=forms.TextInput(attrs={'tabindex': 7})) + kinemail = forms.EmailField(widget=forms.TextInput(attrs={'tabindex': 8})) + relation = forms.CharField(label='Relation to you', max_length=100, widget=forms.TextInput(attrs={'tabindex': 9})) + + VEGGIE_CHOICES = [ + ('yes', 'Yes'), + ('mostly', 'Mostly'), + ('no', 'No'), + ] + + STUDENT_CHOICES = [ + ('yes', 'Yes'), + ('no', 'No'), + ] + + veggie = forms.ChoiceField(choices=VEGGIE_CHOICES, widget=forms.RadioSelect(attrs={'tabindex': 10})) + student = forms.ChoiceField(choices=STUDENT_CHOICES, widget=forms.RadioSelect(attrs={'tabindex': 11})) + + transport_ok = forms.ChoiceField(choices=[('yes', 'Yes'), ('no', 'No')], + widget=forms.RadioSelect(attrs={'tabindex': 12}), initial='yes') + transport_info = forms.CharField(widget=forms.Textarea(attrs={'rows': 6, 'cols': 80, 'tabindex': 13}), + required=False) + + bivvy = forms.BooleanField(required=False, widget=forms.CheckboxInput(attrs={'tabindex': 14})) + tent = forms.BooleanField(required=False, widget=forms.CheckboxInput(attrs={'tabindex': 15})) + top_tent_cap = forms.IntegerField(required=False, widget=forms.NumberInput(attrs={'tabindex': 16})) + btent = forms.BooleanField(required=False, widget=forms.CheckboxInput(attrs={'tabindex': 17})) + base_tent_cap = forms.IntegerField(required=False, widget=forms.NumberInput(attrs={'tabindex': 18})) + + allergies = forms.CharField(widget=forms.Textarea(attrs={'rows': 2, 'cols': 80, 'tabindex': 19}), required=False) + medication = forms.CharField(widget=forms.Textarea(attrs={'rows': 2, 'cols': 80, 'tabindex': 20}), required=False) + medic_info = forms.CharField(widget=forms.Textarea(attrs={'rows': 5, 'cols': 80, 'tabindex': 21}), required=False) + + extra_info = forms.CharField(widget=forms.Textarea(attrs={'rows': 15, 'cols': 80, 'tabindex': 22}), required=False) + + aims = forms.CharField(widget=forms.Textarea(attrs={'rows': 15, 'cols': 80, 'tabindex': 23}), required=False) |