From a4c4f96c06bb2d1df1d2a53a7c1e11fb9e1f9e52 Mon Sep 17 00:00:00 2001 From: Xeniac Date: Mon, 30 Apr 2018 11:12:20 +0200 Subject: [PATCH] Personal data is only needed for a club membership. --- src/membership/forms.py | 43 ++++++------------- .../locale/de/LC_MESSAGES/django.po | 40 +++++++++-------- .../templates/membership/register_form.html | 16 +++---- 3 files changed, 39 insertions(+), 60 deletions(-) diff --git a/src/membership/forms.py b/src/membership/forms.py index 2214837..62a0658 100644 --- a/src/membership/forms.py +++ b/src/membership/forms.py @@ -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 """ diff --git a/src/membership/locale/de/LC_MESSAGES/django.po b/src/membership/locale/de/LC_MESSAGES/django.po index 3d408f6..dfb5e8d 100644 --- a/src/membership/locale/de/LC_MESSAGES/django.po +++ b/src/membership/locale/de/LC_MESSAGES/django.po @@ -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 '\n" "Language-Team: Kasu \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" diff --git a/src/membership/templates/membership/register_form.html b/src/membership/templates/membership/register_form.html index 59519bf..eadc98e 100644 --- a/src/membership/templates/membership/register_form.html +++ b/src/membership/templates/membership/register_form.html @@ -16,21 +16,15 @@ {% block maincontent %}
{% csrf_token %} -
- {% trans "name"%} - {% get_fieldset "gender, first_name, last_name, username" from form as form1 %} - {% with form1 as form %}{% include "form.html" %}{% endwith %} -
-
{% trans "login"%} - {% 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 %}
-
- {% trans "Membership"%} - {% get_fieldset "membership, birthday, street_name, post_code, city, telephone, website" from form as form2 %} +
+ {% trans "Club membership"%} + {% 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 %}
@@ -42,4 +36,4 @@

-{% endblock %} \ No newline at end of file +{% endblock %}