30 lines
1.0 KiB
Python
30 lines
1.0 KiB
Python
from django import forms
|
|
from django.contrib.auth.models import User
|
|
from django.contrib.auth.forms import UserCreationForm as UserCreationFormBase
|
|
|
|
|
|
class UserCreationForm(UserCreationFormBase):
|
|
"""Account creation with added email, first, and last names."""
|
|
email = forms.EmailField(required=True)
|
|
first_name = forms.CharField(required=True, label="First name")
|
|
last_name = forms.CharField(required=True, label="Last name")
|
|
|
|
class Meta:
|
|
model = User
|
|
fields = ('username', 'first_name', 'last_name', 'email', 'password1', 'password2')
|
|
|
|
def get_credentials(self):
|
|
return {
|
|
'username': self.cleaned_data['username'],
|
|
'password': self.cleaned_data['password1']
|
|
}
|
|
|
|
def save(self, commit=True):
|
|
user = super(UserCreationForm, self).save(commit=False)
|
|
user.email = self.cleaned_data["email"]
|
|
user.first_name = self.cleaned_data["first_name"]
|
|
user.last_name = self.cleaned_data["last_name"]
|
|
if commit:
|
|
user.save()
|
|
return user
|