Personal data is only needed for a club membership.

This commit is contained in:
2018-04-30 11:12:20 +02:00
parent 3b162fc59c
commit 722c155c17
4 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')
)
email = forms.EmailField(label=_('Email'), required=True)
required_membership_fields = (
'first_name', 'last_name', 'birthday',
'street_name', 'post_code', 'city'
)
class Meta:
"""get the user model dyamicly"""
@@ -35,36 +39,15 @@ class MembershipForm(forms.ModelForm):
'post_code', 'city'
)
def clean_birthday(self):
"""If the user wants to be a member the birthday field is mandatory."""
if self.cleaned_data['membership'] \
and not self.cleaned_data['birthday']:
raise forms.ValidationError(_('For your membership, we need this. \
Please fill out this field yet.'))
return self.cleaned_data['birthday']
def clean(self):
cleaned_data = super().clean()
errormsg = _('For your membership, we need this. \
Please fill out this field yet.')
membership = cleaned_data.get('membership')
for fieldname in self.required_membership_fields:
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):
@@ -122,7 +105,7 @@ class RegistrationForm(MembershipForm):
def save(self, commit=True):
""" Create the new User, set him/her inactive, create an acitivation
request for the user and send him/her an activation email.
:param commit: commit the SQL and send the email if True
:return: the created User Object
"""

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: kasu.membership\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-30 10:10+0200\n"
"PO-Revision-Date: 2018-04-30 10:14+0105\n"
"POT-Creation-Date: 2018-04-30 10:57+0200\n"
"PO-Revision-Date: 2018-04-30 10:59+0105\n"
"Last-Translator: b'Christian Berg <kasu@xendynastie.at>'\n"
"Language-Team: Kasu <verein@kasu.at>\n"
"Language: de\n"
@@ -44,7 +44,6 @@ msgid "Groups"
msgstr "Gruppen"
#: admin.py:72 models.py:163 models.py:216
#: templates/membership/register_form.html:32
msgid "Membership"
msgstr "Mitgliedschaft"
@@ -68,38 +67,32 @@ msgstr "Eingabeformat: tt.mm.jjjj"
msgid "Email"
msgstr "E-Mail"
#: forms.py:42 forms.py:50 forms.py:58
#: forms.py:44
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:65
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
#: forms.py:61
msgid "password"
msgstr "Passwort"
#: forms.py:80
#: forms.py:63
msgid "password (again)"
msgstr "Passwort (wiederholen)"
#: forms.py:102
#: forms.py:85
msgid "This username is already taken. Please choose another."
msgstr ""
"Diesen Benutzername ist schon vergeben. Bitte einen anderen auswählen."
#: forms.py:109
#: forms.py:92
msgid ""
"This email address is already in use. Please supply a different "
"email address."
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."
msgstr "Die beiden Passwörter passen nicht."
@@ -333,7 +326,6 @@ msgstr ""
"eingesehen werden."
#: templates/membership/membership_detail.html:45
#: templates/membership/register_form.html:20
msgid "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"
"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
msgid "login"
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"
msgstr "Zurücksetzen"
#: templates/membership/register_form.html:41
#: templates/membership/register_form.html:35
#: templates/registration/login.html:35
msgid "register"
msgstr "Registrieren"
@@ -577,6 +574,11 @@ msgstr "Benutzerprofil erfolgreich geändert."
msgid "No Membership found matching the query"
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"
#~ msgstr "Vorname"

View File

@@ -16,21 +16,15 @@
{% block maincontent %}
<form method="post" action="{% url 'membership-register' %}">
{% 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">
<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 %}
</fieldset>
<fieldset class="grid_12">
<legend>{% trans "Membership"%}</legend>
{% get_fieldset "membership, birthday, street_name, post_code, city, telephone, website" from form as form2 %}
<fieldset class="grid_5">
<legend>{% trans "Club membership"%}</legend>
{% 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 %}
</fieldset>
@@ -42,4 +36,4 @@
</p>
</div>
</form>
{% endblock %}
{% endblock %}