Personal data is only needed for a club membership.

This commit is contained in:
2018-04-30 11:12:20 +02:00
parent 19bbb5a226
commit a4c4f96c06
3 changed files with 39 additions and 60 deletions

View File

@@ -25,6 +25,10 @@ class MembershipForm(forms.ModelForm):
help_text=_('Input format: yyyy-mm-dd') help_text=_('Input format: yyyy-mm-dd')
) )
email = forms.EmailField(label=_('Email'), required=True) email = forms.EmailField(label=_('Email'), required=True)
required_membership_fields = (
'first_name', 'last_name', 'birthday',
'street_name', 'post_code', 'city'
)
class Meta: class Meta:
"""get the user model dyamicly""" """get the user model dyamicly"""
@@ -35,36 +39,15 @@ class MembershipForm(forms.ModelForm):
'post_code', 'city' 'post_code', 'city'
) )
def clean_birthday(self): def clean(self):
"""If the user wants to be a member the birthday field is mandatory.""" cleaned_data = super().clean()
if self.cleaned_data['membership'] \ errormsg = _('For your membership, we need this. \
and not self.cleaned_data['birthday']: Please fill out this field yet.')
raise forms.ValidationError(_('For your membership, we need this. \ membership = cleaned_data.get('membership')
Please fill out this field yet.')) for fieldname in self.required_membership_fields:
return self.cleaned_data['birthday'] if membership and not cleaned_data.get(fieldname):
self.add_error(fieldname, errormsg)
def clean_street_name(self):
"""If the user wants to be a member the address is mandatory."""
if self.cleaned_data['membership'] \
and not self.cleaned_data['street_name']:
raise forms.ValidationError(_('For your membership, we need this. \
Please fill out this field yet.'))
return self.cleaned_data['street_name']
def clean_post_code(self):
"""If the user wants to be a member the address is mandatory."""
if self.cleaned_data['membership'] \
and not self.cleaned_data['post_code']:
raise forms.ValidationError(_('For your membership, we need this. \
Please fill out this field yet.'))
return self.cleaned_data['post_code']
def clean_city(self):
"""If the user wants to be a member the address is mandatory."""
if self.cleaned_data['membership'] and not self.cleaned_data['city']:
raise forms.ValidationError(_('For your membership, we need this. \
Please fill out this field yet.'))
return self.cleaned_data['city']
class RegistrationForm(MembershipForm): class RegistrationForm(MembershipForm):

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: kasu.membership\n" "Project-Id-Version: kasu.membership\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-30 10:10+0200\n" "POT-Creation-Date: 2018-04-30 10:57+0200\n"
"PO-Revision-Date: 2018-04-30 10:14+0105\n" "PO-Revision-Date: 2018-04-30 10:59+0105\n"
"Last-Translator: b'Christian Berg <kasu@xendynastie.at>'\n" "Last-Translator: b'Christian Berg <kasu@xendynastie.at>'\n"
"Language-Team: Kasu <verein@kasu.at>\n" "Language-Team: Kasu <verein@kasu.at>\n"
"Language: de\n" "Language: de\n"
@@ -44,7 +44,6 @@ msgid "Groups"
msgstr "Gruppen" msgstr "Gruppen"
#: admin.py:72 models.py:163 models.py:216 #: admin.py:72 models.py:163 models.py:216
#: templates/membership/register_form.html:32
msgid "Membership" msgid "Membership"
msgstr "Mitgliedschaft" msgstr "Mitgliedschaft"
@@ -68,38 +67,32 @@ msgstr "Eingabeformat: tt.mm.jjjj"
msgid "Email" msgid "Email"
msgstr "E-Mail" msgstr "E-Mail"
#: forms.py:42 forms.py:50 forms.py:58 #: forms.py:44
msgid "" msgid ""
"For your membership, we need this. Please fill out this field " "For your membership, we need this. Please fill out this field "
"yet." "yet."
msgstr "Diese Angabe wird für eine Mitgliedschaft benötigt, bitte ausfüllen." msgstr "Diese Angabe wird für eine Mitgliedschaft benötigt, bitte ausfüllen."
#: forms.py:65 #: forms.py:61
msgid ""
"For your membership, we need this. Please fill out this field "
"yet."
msgstr "Diese Angabe wird für eine Mitgliedschaft benötigt, bitte ausfüllen."
#: forms.py:78
msgid "password" msgid "password"
msgstr "Passwort" msgstr "Passwort"
#: forms.py:80 #: forms.py:63
msgid "password (again)" msgid "password (again)"
msgstr "Passwort (wiederholen)" msgstr "Passwort (wiederholen)"
#: forms.py:102 #: forms.py:85
msgid "This username is already taken. Please choose another." msgid "This username is already taken. Please choose another."
msgstr "" msgstr ""
"Diesen Benutzername ist schon vergeben. Bitte einen anderen auswählen." "Diesen Benutzername ist schon vergeben. Bitte einen anderen auswählen."
#: forms.py:109 #: forms.py:92
msgid "" msgid ""
"This email address is already in use. Please supply a different " "This email address is already in use. Please supply a different "
"email address." "email address."
msgstr "Die E-Mail Adresse wird schon verwendet. Bitte eine andere angeben." msgstr "Die E-Mail Adresse wird schon verwendet. Bitte eine andere angeben."
#: forms.py:119 #: forms.py:102
msgid "The two password fields didn't match." msgid "The two password fields didn't match."
msgstr "Die beiden Passwörter passen nicht." msgstr "Die beiden Passwörter passen nicht."
@@ -333,7 +326,6 @@ msgstr ""
"eingesehen werden." "eingesehen werden."
#: templates/membership/membership_detail.html:45 #: templates/membership/membership_detail.html:45
#: templates/membership/register_form.html:20
msgid "name" msgid "name"
msgstr "Name" msgstr "Name"
@@ -390,16 +382,21 @@ msgstr ""
"Nach dem du deine Daten eingegeben hast, wirst du eine E-Mail zur Bestätigung bekommen.\n" "Nach dem du deine Daten eingegeben hast, wirst du eine E-Mail zur Bestätigung bekommen.\n"
"Bitte klicke auf den Link in dieser E-Mail zur Verifizierung, erst dann ist die Anmeldung möglich." "Bitte klicke auf den Link in dieser E-Mail zur Verifizierung, erst dann ist die Anmeldung möglich."
#: templates/membership/register_form.html:26 #: templates/membership/register_form.html:20
#: templates/registration/login.html:41 #: templates/registration/login.html:41
msgid "login" msgid "login"
msgstr "Anmelden" msgstr "Anmelden"
#: templates/membership/register_form.html:39 #: templates/membership/register_form.html:26
#| msgid "Membership"
msgid "Club membership"
msgstr "Vereinsmitgliedschaft"
#: templates/membership/register_form.html:33
msgid "reset" msgid "reset"
msgstr "Zurücksetzen" msgstr "Zurücksetzen"
#: templates/membership/register_form.html:41 #: templates/membership/register_form.html:35
#: templates/registration/login.html:35 #: templates/registration/login.html:35
msgid "register" msgid "register"
msgstr "Registrieren" msgstr "Registrieren"
@@ -577,6 +574,11 @@ msgstr "Benutzerprofil erfolgreich geändert."
msgid "No Membership found matching the query" msgid "No Membership found matching the query"
msgstr "Kein Mitglied gefunden welche der Anfrage entspricht" msgstr "Kein Mitglied gefunden welche der Anfrage entspricht"
#~ msgid ""
#~ "For your membership, we need this. Please fill out this field "
#~ "yet."
#~ msgstr "Diese Angabe wird für eine Mitgliedschaft benötigt, bitte ausfüllen."
#~ msgid "Given Name" #~ msgid "Given Name"
#~ msgstr "Vorname" #~ msgstr "Vorname"

View File

@@ -16,21 +16,15 @@
{% block maincontent %} {% block maincontent %}
<form method="post" action="{% url 'membership-register' %}"> <form method="post" action="{% url 'membership-register' %}">
{% csrf_token %} {% csrf_token %}
<fieldset class="grid_5">
<legend>{% trans "name"%}</legend>
{% get_fieldset "gender, first_name, last_name, username" from form as form1 %}
{% with form1 as form %}{% include "form.html" %}{% endwith %}
</fieldset>
<fieldset class="grid_7"> <fieldset class="grid_7">
<legend>{% trans "login"%}</legend> <legend>{% trans "login"%}</legend>
{% get_fieldset "email, password1, password2, recaptcha" from form as form1 %} {% get_fieldset "username, email, password1, password2, recaptcha" from form as form1 %}
{% with form1 as form %}{% include "form.html" %}{% endwith %} {% with form1 as form %}{% include "form.html" %}{% endwith %}
</fieldset> </fieldset>
<fieldset class="grid_12"> <fieldset class="grid_5">
<legend>{% trans "Membership"%}</legend> <legend>{% trans "Club membership"%}</legend>
{% get_fieldset "membership, birthday, street_name, post_code, city, telephone, website" from form as form2 %} {% get_fieldset "membership, first_name, last_name, gender, birthday, street_name, post_code, city, telephone, website" from form as form2 %}
{% with form2 as form %}{% include "form.html" %}{% endwith %} {% with form2 as form %}{% include "form.html" %}{% endwith %}
</fieldset> </fieldset>