Browse Source

Corrige cadastro de usuário, atualização de perfil e envio de email

Signed-off-by: Luciano Almeida <lucianoalmeida@interlegis.leg.br>
pull/6/head
Luciano Almeida 9 years ago
committed by Luciano Almeida
parent
commit
02fdb00fde
  1. 16
      sigi/apps/usuarios/forms.py
  2. 5
      sigi/apps/usuarios/views.py

16
sigi/apps/usuarios/forms.py

@ -172,13 +172,14 @@ class UsuarioForm(ModelForm):
return True return True
def clean_username(self): def clean_username(self):
# import ipdb; ipdb.set_trace()
usuario = User.objects.filter( usuario = User.objects.filter(
username=self.cleaned_data[u'username']).exists() username=self.cleaned_data[u'username']).exists()
if usuario: if usuario:
raise ValidationError(u'Usuário existente.') raise ValidationError(u'Usuário existente.')
return self.cleaned_data return self.cleaned_data[u'username']
def clean_primeiro_numero(self): def clean_primeiro_numero(self):
cleaned_data = self.cleaned_data cleaned_data = self.cleaned_data
@ -190,7 +191,7 @@ class UsuarioForm(ModelForm):
telefone.principal = self.data[u'primeiro_principal'] telefone.principal = self.data[u'primeiro_principal']
cleaned_data[u'primeiro_telefone'] = telefone cleaned_data[u'primeiro_telefone'] = telefone
return cleaned_data return self.cleaned_data[u'primeiro_numero']
def clean_segundo_numero(self): def clean_segundo_numero(self):
cleaned_data = self.cleaned_data cleaned_data = self.cleaned_data
@ -202,14 +203,13 @@ class UsuarioForm(ModelForm):
telefone.principal = self.data[u'segundo_principal'] telefone.principal = self.data[u'segundo_principal']
cleaned_data[u'segundo_telefone'] = telefone cleaned_data[u'segundo_telefone'] = telefone
return cleaned_data return self.cleaned_data[u'segundo_numero']
def valida_email_existente(self): def valida_email_existente(self):
return Usuario.objects.filter( return Usuario.objects.filter(
email=self.cleaned_data[u'email']).exists() email=self.cleaned_data[u'email']).exists()
def clean(self): def clean(self):
if (u'password' not in self.cleaned_data or if (u'password' not in self.cleaned_data or
u'password_confirm' not in self.cleaned_data): u'password_confirm' not in self.cleaned_data):
raise ValidationError(_(u'Favor informar senhas atuais ou novas')) raise ValidationError(_(u'Favor informar senhas atuais ou novas'))
@ -309,15 +309,20 @@ class UsuarioEditForm(UsuarioForm):
self.fields.pop(u'password') self.fields.pop(u'password')
self.fields.pop(u'password_confirm') self.fields.pop(u'password_confirm')
def clean_username(self):
pass
def valida_email_existente(self): def valida_email_existente(self):
u'''Não permite atualizar emails para u'''Não permite atualizar emails para
emails existentes de outro usuário emails existentes de outro usuário
''' '''
return Usuario.objects.filter( return Usuario.objects.filter(
email=self.cleaned_data[u'email']).exclude( email=self.cleaned_data[u'email']).exclude(
user__username=self.cleaned_data[u'username']).exists() user__username=self.data[u'username']).exists()
def clean(self): def clean(self):
self.cleaned_data[u'username'] = self.data[u'username']
if (u'email' not in self.cleaned_data or if (u'email' not in self.cleaned_data or
u'email_confirm' not in self.cleaned_data): u'email_confirm' not in self.cleaned_data):
raise ValidationError(_(u'Favor informar endereços de email')) raise ValidationError(_(u'Favor informar endereços de email'))
@ -327,7 +332,6 @@ class UsuarioEditForm(UsuarioForm):
self.cleaned_data[u'email'], self.cleaned_data[u'email'],
self.cleaned_data[u'email_confirm'], self.cleaned_data[u'email_confirm'],
msg) msg)
email_existente = self.valida_email_existente() email_existente = self.valida_email_existente()
if email_existente: if email_existente:

5
sigi/apps/usuarios/views.py

@ -161,9 +161,8 @@ class UsuarioCrud(Crud):
reverse(u'usuarios:confirmar_email', kwargs=kwargs) + reverse(u'usuarios:confirmar_email', kwargs=kwargs) +
u"\n\nCaso você não tenha feito este cadastro, " + u"\n\nCaso você não tenha feito este cadastro, " +
u"por favor, ignore esta mensagem.\n") u"por favor, ignore esta mensagem.\n")
remetente = settings.EMAIL_HOST_USER remetente = settings.EMAIL_SEND_USER
destinatario = [confirmar_email.email, destinatario = [confirmar_email.email]
settings.EMAIL_HOST_USER]
send_mail(assunto, mensagem, remetente, destinatario, send_mail(assunto, mensagem, remetente, destinatario,
fail_silently=False) fail_silently=False)
return reverse(u'index_atendimento') return reverse(u'index_atendimento')

Loading…
Cancel
Save