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 |