You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
TeamFlash/sahara/main/forms.py

45 lines
1.3 KiB

from django import forms
from django.contrib.auth.forms import UserCreationForm
from .models import BaseUser
class BaseUserForm(UserCreationForm):
class Meta:
model = BaseUser
fields = [
'first_name',
'last_name',
'bio',
'address',
'contact_number',
'image',
'citizenship',
'certificate',
'price',
'role',
'email',
]
password1 = forms.CharField(
widget=forms.PasswordInput(attrs={'class': 'form-control', 'placeholder': 'Password'}),
label='Password',
min_length=8,
)
password2 = forms.CharField(
widget=forms.PasswordInput(attrs={'class': 'form-control', 'placeholder': 'Confirm Password'}),
label='Confirm Password',
min_length=8,
)
def clean_password2(self):
password1 = self.cleaned_data.get('password1')
password2 = self.cleaned_data.get('password2')
if password1 and password2 and password1 != password2:
raise forms.ValidationError("Passwords don't match.")
return password2
def save(self, commit=True):
user = super().save(commit=False)
user.set_password(self.cleaned_data['password1'])
if commit:
user.save()
return user