member registration: add required registration form

v1-0-stable
Christian Merten 3 years ago
parent 156170723e
commit 81f641024c
Signed by: christian.merten
GPG Key ID: D953D69721B948B3

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-03 18:21+0200\n" "POT-Creation-Date: 2022-10-03 21:38+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -154,8 +154,8 @@ msgid "last name"
msgstr "Nachname" msgstr "Nachname"
#: members/models.py:62 #: members/models.py:62
msgid "street" msgid "street and house number"
msgstr "Straße" msgstr "Straße und Hausnummer"
#: members/models.py:63 #: members/models.py:63
msgid "Postcode" msgid "Postcode"
@ -372,7 +372,7 @@ msgstr ""
"Falls sich etwas geändert hat, trage das bitte hier ein." "Falls sich etwas geändert hat, trage das bitte hier ein."
#: members/templates/members/echo.html:27 #: members/templates/members/echo.html:27
#: members/templates/members/register.html:28 #: members/templates/members/register.html:33
#: members/templates/members/register_password.html:22 #: members/templates/members/register_password.html:22
msgid "submit" msgid "submit"
msgstr "Bestätigen" msgstr "Bestätigen"
@ -455,6 +455,17 @@ msgstr "Registrieren"
msgid "Here you can register for group" msgid "Here you can register for group"
msgstr "Hier kannst du dich registrieren für die Gruppe" msgstr "Hier kannst du dich registrieren für die Gruppe"
#: members/templates/members/register.html:28
msgid "I am member of the DAV Ludwigsburg."
msgstr "Ich bin Mitglied des DAV Ludwigsburg."
#: members/templates/members/register.html:30
msgid ""
"I agree that my data is stored and processed on the server of the JDAV "
"Ludwigsburg."
msgstr "Ich bin einverstanden, dass meine Daten auf dem Server der JDAV "
"Ludwigsburg gespeichert und verarbeitet werden."
#: members/templates/members/register_password.html:13 #: members/templates/members/register_password.html:13
msgid "" msgid ""
"Thanks for your interest in participating. Please enter the registration " "Thanks for your interest in participating. Please enter the registration "
@ -480,18 +491,21 @@ msgstr ""
"Du hast zu oft ein falsches Passwort eingegeben. Bitte frage deinen " "Du hast zu oft ein falsches Passwort eingegeben. Bitte frage deinen "
"Jugendleiter nach einem korrekten Passwort." "Jugendleiter nach einem korrekten Passwort."
#: members/views.py:54 members/views.py:75 #: members/views.py:62 members/views.py:83
msgid "invalid" msgid "invalid"
msgstr "ungültig" msgstr "ungültig"
#: members/views.py:56 #: members/views.py:64
msgid "expired" msgid "expired"
msgstr "abgelaufen" msgstr "abgelaufen"
#: members/views.py:85 #: members/views.py:93
msgid "The entered password is wrong." msgid "The entered password is wrong."
msgstr "Das eingegebene Passwort ist falsch." msgstr "Das eingegebene Passwort ist falsch."
#~ msgid "street"
#~ msgstr "Straße"
#~ msgid "Can't confirm. " #~ msgid "Can't confirm. "
#~ msgstr "Bestätigung nicht möglich. " #~ msgstr "Bestätigung nicht möglich. "

@ -18,11 +18,16 @@
<p><b>{{ error_message }}</b></p> <p><b>{{ error_message }}</b></p>
{% endif %} {% endif %}
<form action="" method="post"> <form action="" method="post" enctype="multipart/form-data">
<table class="termine"> <table class="termine">
{% csrf_token %} {% csrf_token %}
{{form}} {{form}}
</table> </table>
<p>
<input type="checkbox" required>
{% trans "I am member of the DAV Ludwigsburg." %}<br>
<input type="checkbox" required>
{% trans "I agree that my data is stored and processed on the server of the JDAV Ludwigsburg." %}</p>
<input type="hidden" name="password" value="{{ pwd.password }}"> <input type="hidden" name="password" value="{{ pwd.password }}">
<input type="hidden" name="save"> <input type="hidden" name="save">
<p><input type="submit" value="{% trans "submit" %}"/></p> <p><input type="submit" value="{% trans "submit" %}"/></p>

@ -16,14 +16,22 @@ class MemberForm(ModelForm):
'birth_date': DateInput(format='%d.%m.%Y', attrs={'class': 'datepicker'}) 'birth_date': DateInput(format='%d.%m.%Y', attrs={'class': 'datepicker'})
} }
class MemberFormWithEmail(ModelForm): class MemberRegistrationForm(ModelForm):
def __init__(self, *args, **kwargs):
super(MemberRegistrationForm, self).__init__(*args, **kwargs)
for field in self.Meta.required:
self.fields[field].required = True
class Meta: class Meta:
model = Member model = Member
fields = ['prename', 'lastname', 'street', 'plz', 'town', 'phone_number', fields = ['prename', 'lastname', 'street', 'plz', 'town', 'phone_number',
'phone_number_parents', 'birth_date', 'email', 'email_parents', 'cc_email_parents'] 'phone_number_parents', 'birth_date', 'email', 'email_parents', 'cc_email_parents',
'registration_form']
widgets = { widgets = {
'birth_date': DateInput(format='%d.%m.%Y', attrs={'class': 'datepicker'}) 'birth_date': DateInput(format='%d.%m.%Y', attrs={'class': 'datepicker'})
} }
required = ['registration_form', 'street', 'plz', 'town']
def render_echo_failed(request, reason=""): def render_echo_failed(request, reason=""):
context = {} context = {}
@ -94,7 +102,7 @@ def render_register_success(request, groupname, membername):
def render_register(request, pwd, form=None): def render_register(request, pwd, form=None):
if form is None: if form is None:
form = MemberFormWithEmail() form = MemberRegistrationForm()
return render(request, return render(request,
'members/register.html', 'members/register.html',
{'form': form, 'pwd': pwd}) {'form': form, 'pwd': pwd})
@ -111,7 +119,7 @@ def register(request):
return render_register_wrong_password(request) return render_register_wrong_password(request)
if "save" in request.POST: if "save" in request.POST:
# process registration # process registration
form = MemberFormWithEmail(request.POST) form = MemberRegistrationForm(request.POST, request.FILES)
try: try:
new_member = form.save() new_member = form.save()
new_member.group.add(pwd.group) new_member.group.add(pwd.group)

Loading…
Cancel
Save