Add name validators to all signup forms

This commit is contained in:
PCoder 2019-12-18 22:40:33 +05:30
parent 3f012b7514
commit e46729ee04
3 changed files with 24 additions and 3 deletions

View file

@ -8,6 +8,7 @@ from utils.forms import LoginFormMixin, SignupFormMixin, BillingAddressForm
from .models import MembershipType, MembershipOrder
from .models import Booking, BookingOrder
from membership.models import validate_name
class LoginForm(LoginFormMixin):
@ -19,7 +20,8 @@ class SignupForm(SignupFormMixin):
confirm_password = forms.CharField(widget=forms.PasswordInput())
password = forms.CharField(widget=forms.PasswordInput())
name = forms.CharField(label='name',
widget=forms.TextInput(attrs={'placeholder': 'Full name'}))
widget=forms.TextInput(attrs={'placeholder': 'Full name'}),
validators=[validate_name])
class MembershipBillingForm(BillingAddressForm):

View file

@ -6,9 +6,10 @@ import tempfile
from django import forms
from django.conf import settings
from django.contrib.auth import authenticate
from django.core.exceptions import ValidationError
from django.utils.translation import ugettext_lazy as _
from membership.models import CustomUser
from membership.models import CustomUser, validate_name
from .models import UserHostingKey, GenericProduct
logger = logging.getLogger(__name__)
@ -164,6 +165,14 @@ class HostingUserSignupForm(forms.ModelForm):
raise forms.ValidationError("Passwords don't match")
return confirm_password
def clean_name(self):
name = self.cleaned_data.get('name')
try:
validate_name(name)
except ValidationError as ve:
raise forms.ValidationError(_("Improper Name"))
return name
class UserHostingKeyForm(forms.ModelForm):
private_key = forms.CharField(widget=forms.HiddenInput(), required=False)

View file

@ -3,8 +3,9 @@ from django.contrib.auth import authenticate
from django.core.mail import EmailMultiAlternatives
from django.template.loader import render_to_string
from django.utils.translation import ugettext_lazy as _
from django.core.exceptions import ValidationError
from membership.models import CustomUser
from membership.models import CustomUser, validate_name
from .models import ContactMessage, BillingAddress, UserBillingAddress
@ -30,6 +31,15 @@ class SignupFormMixin(forms.ModelForm):
raise forms.ValidationError("Passwords don't match")
return confirm_password
def clean_name(self):
name = self.cleaned_data.get('name')
try:
validate_name(name)
except ValidationError as ve:
raise forms.ValidationError(_("Improper Name"))
return name
class LoginFormMixin(forms.Form):
email = forms.CharField(widget=forms.EmailInput())