50 lines
1.6 KiB
Python
50 lines
1.6 KiB
Python
from django import forms
|
|
from membership.models import CustomUser
|
|
from django.contrib.auth import authenticate
|
|
|
|
|
|
class HostingUserLoginForm(forms.Form):
|
|
|
|
email = forms.CharField(widget=forms.EmailInput())
|
|
password = forms.CharField(widget=forms.PasswordInput())
|
|
|
|
class Meta:
|
|
fields = ['email', 'password']
|
|
|
|
def clean(self):
|
|
email = self.cleaned_data.get('email')
|
|
password = self.cleaned_data.get('password')
|
|
is_auth = authenticate(email=email, password=password)
|
|
if not is_auth:
|
|
raise forms.ValidationError("Your username and/or password were incorrect.")
|
|
return self.cleaned_data
|
|
|
|
def clean_email(self):
|
|
email = self.cleaned_data.get('email')
|
|
try:
|
|
CustomUser.objects.get(email=email)
|
|
return email
|
|
except CustomUser.DoesNotExist:
|
|
raise forms.ValidationError("User does not exists")
|
|
else:
|
|
return email
|
|
|
|
|
|
class HostingUserSignupForm(forms.ModelForm):
|
|
|
|
confirm_password = forms.CharField(widget=forms.PasswordInput())
|
|
password = forms.CharField(widget=forms.PasswordInput())
|
|
|
|
class Meta:
|
|
model = CustomUser
|
|
fields = ['name', 'email', 'password']
|
|
widgets = {
|
|
'name': forms.TextInput(attrs={'placeholder': 'Enter your name or company name'}),
|
|
}
|
|
|
|
def clean_confirm_password(self):
|
|
password = self.cleaned_data.get('password')
|
|
confirm_password = self.cleaned_data.get('confirm_password')
|
|
if not confirm_password == password:
|
|
raise forms.ValidationError("Passwords don't match")
|
|
return confirm_password
|