Guest User

Untitled

a guest
Dec 5th, 2013
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.92 KB | None | 0 0
  1. class Cliente(models.Model):
  2.     user = models.ForeignKey(User, editable=False)  
  3.     password = models.CharField(max_length=30)
  4.     ...
  5.  
  6.     class Meta:
  7.         ordering = ['-id']
  8.  
  9.     def save(self):
  10.         if not self.id:
  11.             c = Cliente.objects.filter(email=self.email).count()
  12.             if c:
  13.                 raise EmailExistente
  14.  
  15.             usr = User.objects.filter(username=self.email)
  16.             if usr:
  17.                 u = usr[0]
  18.             else:
  19.                 u = User.objects.create_user(self.email, self.email, self.password)
  20.             u.save()
  21.             self.user = u
  22.         else:
  23.             self.user.username = self.email
  24.             self.user.email = self.email
  25.             self.user.set_password(self.password)
  26.             self.user.save()
  27.  
  28.         super(Cliente, self).save()
  29.  
  30. ----------------------------------------------------------------------------------------------
  31. class FormCliente(forms.ModelForm):
  32.  
  33.     password = forms.CharField(widget=forms.PasswordInput(render_value=True))
  34.     password_confirm = forms.CharField(widget=forms.PasswordInput(render_value=True))
  35.  
  36.     class Meta:
  37.         model = Cliente
  38.  
  39.    
  40.     def clean_nome(self):
  41.         return re.sub('[.,/-]', '', unicode(self.cleaned_data['nome']))
  42.  
  43.     def clean_sobrenome(self):
  44.         return re.sub('[.,/-]', '', unicode(self.cleaned_data['sobrenome']))
  45.  
  46.     def clean_password(self):
  47.         if self.cleaned_data.get('password', '') != '':
  48.             if len(self.cleaned_data.get('password')) < 6:
  49.                 raise forms.ValidationError(u'A password deverá ter, no mínimo, 6 caracteres!')
  50.         return self.cleaned_data['password']
  51.  
  52.     def clean_password_confirm(self):
  53.         if self.cleaned_data.get('password', '') != '':
  54.             if self.cleaned_data.get('password', '') != self.cleaned_data.get('password_confirm', ''):
  55.                 raise forms.ValidationError(u'As passwords não conferem.')
  56.         return self.cleaned_data['password_confirm']
  57.  
  58. ----------------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment