Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Cliente(models.Model):
- user = models.ForeignKey(User, editable=False)
- password = models.CharField(max_length=30)
- ...
- class Meta:
- ordering = ['-id']
- def save(self):
- if not self.id:
- c = Cliente.objects.filter(email=self.email).count()
- if c:
- raise EmailExistente
- usr = User.objects.filter(username=self.email)
- if usr:
- u = usr[0]
- else:
- u = User.objects.create_user(self.email, self.email, self.password)
- u.save()
- self.user = u
- else:
- self.user.username = self.email
- self.user.email = self.email
- self.user.set_password(self.password)
- self.user.save()
- super(Cliente, self).save()
- ----------------------------------------------------------------------------------------------
- class FormCliente(forms.ModelForm):
- password = forms.CharField(widget=forms.PasswordInput(render_value=True))
- password_confirm = forms.CharField(widget=forms.PasswordInput(render_value=True))
- class Meta:
- model = Cliente
- def clean_nome(self):
- return re.sub('[.,/-]', '', unicode(self.cleaned_data['nome']))
- def clean_sobrenome(self):
- return re.sub('[.,/-]', '', unicode(self.cleaned_data['sobrenome']))
- def clean_password(self):
- if self.cleaned_data.get('password', '') != '':
- if len(self.cleaned_data.get('password')) < 6:
- raise forms.ValidationError(u'A password deverá ter, no mínimo, 6 caracteres!')
- return self.cleaned_data['password']
- def clean_password_confirm(self):
- if self.cleaned_data.get('password', '') != '':
- if self.cleaned_data.get('password', '') != self.cleaned_data.get('password_confirm', ''):
- raise forms.ValidationError(u'As passwords não conferem.')
- return self.cleaned_data['password_confirm']
- ----------------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment