From 8a0bec48e814a6e3b96dfe69a2d4bba1af635e1d Mon Sep 17 00:00:00 2001 From: gleimar Date: Tue, 15 Jul 2014 23:35:03 +0000 Subject: [PATCH] fixes bug#5488 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@36588 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../seguridad/EditarUsuarioController.java | 157 ++++++------------ web/WEB-INF/i3-label_es_MX.label | 7 +- web/WEB-INF/i3-label_pt_BR.label | 8 +- 3 files changed, 64 insertions(+), 108 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/EditarUsuarioController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/EditarUsuarioController.java index 3aaca523a..df565ab57 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/EditarUsuarioController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/EditarUsuarioController.java @@ -4,7 +4,6 @@ */ package com.rjconsultores.ventaboletos.web.gui.controladores.seguridad; -import java.security.MessageDigest; import java.util.ArrayList; import java.util.Calendar; import java.util.Collections; @@ -40,6 +39,7 @@ import com.rjconsultores.ventaboletos.entidad.Usuario; import com.rjconsultores.ventaboletos.entidad.UsuarioEmpresa; import com.rjconsultores.ventaboletos.entidad.UsuarioPerfil; import com.rjconsultores.ventaboletos.entidad.UsuarioUbicacion; +import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.service.EmpleadoService; import com.rjconsultores.ventaboletos.service.EmpresaService; import com.rjconsultores.ventaboletos.service.PerfilService; @@ -49,7 +49,6 @@ import com.rjconsultores.ventaboletos.service.UsuarioPerfilService; import com.rjconsultores.ventaboletos.service.UsuarioService; import com.rjconsultores.ventaboletos.service.UsuarioUbicacionService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; -import com.rjconsultores.ventaboletos.web.utilerias.Base64; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderUbicacion; @@ -63,6 +62,7 @@ import com.rjconsultores.ventaboletos.web.utilerias.render.RenderUsuarioEmpresa; @Scope("prototype") public class EditarUsuarioController extends MyGenericForwardComposer { + private static final String CONTRASENA_VACIA = "**********"; @Autowired private UsuarioService usuarioService; @Autowired @@ -389,8 +389,8 @@ public class EditarUsuarioController extends MyGenericForwardComposer { perfilSeleccionada = lsUsuarioPerfil.get(0).getPerfil(); } - txtSenha.setText("**********"); - txtConfirmSenha.setText("**********"); + txtSenha.setText(CONTRASENA_VACIA); + txtConfirmSenha.setText(CONTRASENA_VACIA); } if (!usrAdmin) { @@ -410,7 +410,7 @@ public class EditarUsuarioController extends MyGenericForwardComposer { } public void onFocus$txtSenha(Event ev) { - if (txtSenha.getValue().equals("**********")) { + if (txtSenha.getValue().equals(CONTRASENA_VACIA)) { txtSenha.setConstraint(""); txtSenha.setText(""); txtSenha.setConstraint("no empty"); @@ -423,7 +423,7 @@ public class EditarUsuarioController extends MyGenericForwardComposer { } public void onFocus$txtConfirmSenha(Event ev) { - if (txtConfirmSenha.getValue().equals("**********")) { + if (txtConfirmSenha.getValue().equals(CONTRASENA_VACIA)) { txtSenha.setConstraint(""); txtSenha.setText(""); txtSenha.setConstraint("no empty"); @@ -558,8 +558,8 @@ public class EditarUsuarioController extends MyGenericForwardComposer { } } - public void onClick$btnSalvar(Event ev) { - + public void onClick$btnSalvar(Event ev) throws InterruptedException { + boolean hayCambioContrasena = false; txtSenha.setConstraint("no empty"); txtConfirmSenha.setConstraint("no empty"); @@ -578,110 +578,55 @@ public class EditarUsuarioController extends MyGenericForwardComposer { String senha = ""; String confirmSenha = ""; - if (!txtSenha.getValue().equals("**********")) { + if (!txtSenha.getValue().equals(CONTRASENA_VACIA)) { senha = txtSenha.getText(); confirmSenha = txtConfirmSenha.getText(); + + hayCambioContrasena=true; } try { - if (senha.equals(confirmSenha)) { - usuario.setActivo(Boolean.TRUE); - usuario.setFecmodif(Calendar.getInstance().getTime()); - usuario.setUsuariomodifId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - - List lsUsuario = usuarioService.buscarPelaCveUsuario(usuario.getClaveUsuario()); - - boolean podeSalvar = false; - if (lsUsuario.isEmpty()) { - podeSalvar = true; - } else { - for (Usuario u : lsUsuario) { - if (u.getUsuarioId().equals(usuario.getUsuarioId())) { - podeSalvar = true; - } - } - } - - if (podeSalvar) { - - if (!senha.trim().equals("")) { - MessageDigest md = MessageDigest.getInstance("MD5"); - byte[] pass = md.digest(senha.getBytes()); - senha = Base64.byteArrayToBase64(pass); - - usuario.setSenha(senha); - } - - Perfil perfil = (Perfil) cmbPerfil.getSelectedItem().getValue(); - UsuarioPerfil up = new UsuarioPerfil(); - up.setUsuario(usuario); - up.setPerfil(perfil); - up.setActivo(Boolean.TRUE); - up.setFecmodif(Calendar.getInstance().getTime()); - up.setUsuariomodifId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - - if (usuario.getUsuarioId() != null) { - List lsUsuarioPerfil = usuarioPerfilService.obtenerPorUsuario(usuario); - for (UsuarioPerfil up2 : lsUsuarioPerfil) { - usuarioPerfilService.borrar(up2); - } - } - List lsUp = new ArrayList(); - lsUp.add(up); - usuario.setUsuarioPerfilList(lsUp); - - usuario.setUsuarioEmpresaList(lsUsuarioEmpresa); - - if (!lsUsuarioUbicacion.isEmpty()) { - if (usuario.getUsuarioId() == null) { - usuario = usuarioService.suscribir(usuario); - if (usrAdmin) { - usuarioList.addItem(usuario); - } - } else { - usuario = usuarioService.actualizacion(usuario); - if (usrAdmin) { - usuarioList.updateItem(usuario); - } - } - - for (UsuarioUbicacion uu : lsUsuarioUbicacion) { - if (uu.getUsuarioubicacionId() == null) { - uu.setUsuario(usuario); - usuarioUbicacionService.suscribir(uu); - } - } - - Messagebox.show( - Labels.getLabel("editarUsuarioController.MSG.suscribirOK"), - Labels.getLabel("editarUsuarioController.window.title"), - Messagebox.OK, Messagebox.INFORMATION); - - closeWindow(); - } else { - tabUbicacion.setSelected(Boolean.TRUE); - Messagebox.show( - Labels.getLabel("editarUsuarioController.MSG.necessitaUbicacion"), - Labels.getLabel("editarUsuarioController.window.title"), - Messagebox.OK, Messagebox.EXCLAMATION); - } - } else { - Messagebox.show( - Labels.getLabel("MSG.Registro.Existe"), - Labels.getLabel("editarUsuarioController.window.title"), - Messagebox.OK, Messagebox.EXCLAMATION); - } - } else { + if (!senha.equals(confirmSenha)) { Messagebox.show( Labels.getLabel("editarUsuarioController.MSG.configmSenha"), Labels.getLabel("editarUsuarioController.window.title"), Messagebox.OK, Messagebox.INFORMATION); + + return; } - } catch (Exception ex) { + + if (lsUsuarioUbicacion.isEmpty()) { + tabUbicacion.setSelected(Boolean.TRUE); + Messagebox.show( + Labels.getLabel("editarUsuarioController.MSG.necessitaUbicacion"), + Labels.getLabel("editarUsuarioController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + return; + } + + Perfil perfil = (Perfil) cmbPerfil.getSelectedItem().getValue(); + usuario.setUsuarioEmpresaList(lsUsuarioEmpresa); + usuario.setUsuarioUbicacionList(lsUsuarioUbicacion); + senha = hayCambioContrasena?senha:null; + usuarioService.suscribirActualizar(usuario, senha, perfil); + + if (usrAdmin) { + usuarioList.updateItem(usuario); + } + + Messagebox.show( + Labels.getLabel("editarUsuarioController.MSG.suscribirOK"), + Labels.getLabel("editarUsuarioController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + closeWindow(); + + } catch (BusinessException ex) { + log.info(ex.getLocalizedMessage()); Clients.alert( - Labels.getLabel("MSG.Error"), - Labels.getLabel("editarUsuarioController.window.title"), Messagebox.ERROR); - log.error(ex); + ex.getLocalizedMessage(), + Labels.getLabel("editarUsuarioController.window.title"), Messagebox.INFORMATION); } } @@ -713,16 +658,16 @@ public class EditarUsuarioController extends MyGenericForwardComposer { public void onChange$cmbParada() { Comboitem cbiParada = cmbParada.getSelectedItem(); - + if (cbiParada != null) { lsPuntoVenta = puntoVentaService.buscaPuntoVentaParada((Parada) cmbParada.getSelectedItem().getValue()); cmbPuntoVenta.setModel(new ListModelList(lsPuntoVenta)); - if (lsPuntoVenta.isEmpty()){ - cmbPuntoVenta.setText((String)null); + if (lsPuntoVenta.isEmpty()) { + cmbPuntoVenta.setText((String) null); } - }else{ + } else { cmbPuntoVenta.setModel(new ListModelList(Collections.emptyList())); - cmbPuntoVenta.setText((String)null); + cmbPuntoVenta.setText((String) null); } } diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index bde9c43eb..d0c1bafbc 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -4811,4 +4811,9 @@ winMovimentacionBilhetesPuntoVenta.forminicial.label=Form.Inicial winMovimentacionBilhetesPuntoVenta.formfinal.label=Form.Final winMovimentacionBilhetesPuntoVenta.tipoMovimentacion.label=Naturaleza -indexController.mniMovimentacionBilhetesPuntoVenta.label=Movimentación de Estoque - Agencia \ No newline at end of file +indexController.mniMovimentacionBilhetesPuntoVenta.label=Movimentación de Estoque - Agencia + +complejidadContrasena.CANT_MIN_CARACTER=La contraseña debe de tener un tamaño minimo de {0} +complejidadContrasena.CANT_MIN_LETRA=La contraseña debe de tener al menor {0} letra +complejidadContrasena.CANT_MIN_NUMERO=La contraseña debe de tener al menor {0} número +complejidadContrasena.CANT_ESPECIALES=La contrasena debe de tener al menor {0} caracteres especiales \ No newline at end of file diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 46695e74b..5b5fc69fb 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -4892,4 +4892,10 @@ editarOCDParamController.window.title=Editar Parametro OCD editarOCDParamController.MSG.suscribirOK=Parametro gravado com sucesso! editarOCDParamController.MSG.empresaJaCadastrada=Não foi possível incluir Parâmetro OCD. Empresa já cadastrada! editarOCDParamController.MSG.borrarPergunta = Deseja eliminar o Parâmetro OCD? -editarOCDParamController.MSG.borrarOK = Parâmetro OCD eliminado com sucesso. \ No newline at end of file +editarOCDParamController.MSG.borrarOK = Parâmetro OCD eliminado com sucesso. + +#complejidad contrasena +complejidadContrasena.CANT_MIN_CARACTER=A senha deve ter um tamanho mínimo de {0} caracteres +complejidadContrasena.CANT_MIN_LETRA=A senha deve ter ao menos {0} letra +complejidadContrasena.CANT_MIN_NUMERO=A senha deve ter ao menos {0} número +complejidadContrasena.CANT_ESPECIALES=A senha deve ter ao menos {0} caracteres especiais \ No newline at end of file