Last active
November 19, 2018 16:07
-
-
Save rudmanmrrod/9b0fa0794b1c0e503bddbebb926e159c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from django import forms | |
from django.contrib.auth.models import User | |
from django.contrib.auth.forms import UserCreationForm | |
class RegisterForm(UserCreationForm): | |
class Meta: | |
model = User | |
fields = ['password1', 'password2', | |
'first_name', 'last_name', 'email', 'username'] | |
dni_number = forms.IntegerField(widget=forms.NumberInput(attrs={'class': 'form-control', | |
'placeholder': 'DNI Number', 'v-model': 'dni_number'})) | |
address = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control', | |
'placeholder': 'Address', 'v-model': 'address'})) | |
zip_code = forms.IntegerField(widget=forms.NumberInput(attrs={'class': 'form-control', | |
'placeholder': 'DNI Number', 'v-model': 'zip_code'})) | |
gender = forms.ChoiceField(widget=forms.Select(attrs={'class': 'form-control', 'v-model': 'gender'}), | |
choices = (('M','MALE'),('F','FEMALE'))) | |
def __init__(self, *args, **kwargs): | |
super().__init__(*args, **kwargs) | |
self.fields['username'].widget.attrs.update( | |
{'class': 'form-control', 'placeholder': 'Username', 'autofocus': False, | |
'v-model': 'username'}) | |
self.fields['password1'].widget.attrs.update( | |
{'class': 'form-control','placeholder': 'Password', 'v-model': 'password1'}) | |
self.fields['password1'].required = True | |
self.fields['password2'].widget.attrs.update( | |
{'class': 'form-control', 'placeholder':'Password Repeat', 'v-model': 'password2'}) | |
self.fields['password2'].required = True | |
self.fields['email'].widget.attrs.update( | |
{'class': 'form-control', 'placeholder': 'Email', 'v-model': 'email'}) | |
self.fields['email'].required = True | |
self.fields['first_name'].widget.attrs.update( | |
{'class': 'form-control','placeholder': 'First Name', 'v-model': 'first_name'}) | |
self.fields['first_name'].required = True | |
self.fields['last_name'].widget.attrs.update( | |
{'class': 'form-control', 'placeholder':'Last Name', 'v-model': 'last_name'}) | |
self.fields['last_name'].required = True | |
def clean(self): | |
cleaned_data = super(RegisterUserForm, self).clean() | |
email = cleaned_data.get("email") | |
password1 = cleaned_data.get("password1") | |
password2 = cleaned_data.get("password2") | |
if password1 != password2: | |
msg = "Password not match" | |
self.add_error('password1', msg) | |
if email: | |
msg = _("Error on mail: %s, has been used\ | |
") % (email) | |
try: | |
User.objects.get(email=email) | |
self.add_error('email', msg) | |
except: | |
pass |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment