User Registration now uses all possibilities of the Membership Model. So you could apply for a membership with one step.

Fixed an error in the cleanup-registration command.
Also more stuff has been translated
This commit is contained in:
2016-09-16 18:57:28 +02:00
committed by Christian Berg
parent 9c4ec20394
commit 0bdd409dc2
7 changed files with 393 additions and 173 deletions

View File

@@ -17,9 +17,10 @@ class MembershipForm(forms.ModelForm):
error_css_class = 'error'
required_css_class = 'required'
birthday = forms.DateField(label=_('birthday'), required=False)
email = forms.EmailField(label=_('Email'), required=True)
class Meta:
model = models.Membership
model = auth.get_user_model()
fields = (
'username', 'gender', 'first_name', 'last_name', 'email', 'avatar',
'website', 'membership', 'birthday', 'telephone', 'street_name',
@@ -60,26 +61,13 @@ class MembershipForm(forms.ModelForm):
return self.cleaned_data['city']
class RegistrationForm(forms.ModelForm):
class RegistrationForm(MembershipForm):
"""
Form to register a new user account.
Validates that the requested username and email is not already in use,
requires the password to be entered twice to catch typos.
sends an activation request per mail, to validate the eMail.
"""
error_css_class = 'error'
required_css_class = 'required'
first_name = forms.CharField(max_length=30, required=True,
label=_('Given Name'))
last_name = forms.CharField(max_length=30, required=True,
label=_('Last Name'))
username = forms.SlugField(required=True, max_length=30,
label=_('Username'),
help_text=_("The Username can only contain the letters from A to Z, \
Numbers, and the underscore. It must be at least 2 characters long, \
and cannot be longer the 30. The first character must be a letter."))
email = forms.EmailField(required=True)
password1 = forms.CharField(widget=forms.PasswordInput(),
label=_('password'))
password2 = forms.CharField(widget=forms.PasswordInput(),
@@ -88,7 +76,13 @@ class RegistrationForm(forms.ModelForm):
class Meta:
model = auth.get_user_model()
fields = ('first_name', 'last_name', 'username', 'email',)
fields = ('first_name', 'last_name', 'username', 'email',
'username', 'gender', 'first_name', 'last_name', 'email',
'avatar',
'website', 'membership', 'birthday', 'telephone',
'street_name',
'post_code', 'city'
)
def clean_username(self):
"""