22 lines
675 B
Python
22 lines
675 B
Python
from django import forms
|
|
from django.contrib.auth.forms import UserCreationForm
|
|
from django.contrib.auth.models import User
|
|
from .models import UserProfile
|
|
|
|
class CustomUserCreationForm(UserCreationForm):
|
|
user_type = forms.ChoiceField(choices=UserProfile.USER_TYPE_CHOICES)
|
|
|
|
class Meta(UserCreationForm.Meta):
|
|
model = User
|
|
fields = UserCreationForm.Meta.fields + ('email',)
|
|
|
|
def save(self, commit=True):
|
|
user = super().save(commit=False)
|
|
if commit:
|
|
user.save()
|
|
UserProfile.objects.create(
|
|
user=user,
|
|
user_type=self.cleaned_data['user_type']
|
|
)
|
|
return user
|