gleimar 2014-07-15 23:35:03 +00:00
parent a9a045d40e
commit 8a0bec48e8
3 changed files with 64 additions and 108 deletions

View File

@ -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,79 +578,42 @@ 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());
if (!senha.equals(confirmSenha)) {
Messagebox.show(
Labels.getLabel("editarUsuarioController.MSG.configmSenha"),
Labels.getLabel("editarUsuarioController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
List<Usuario> 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;
}
}
return;
}
if (podeSalvar) {
if (lsUsuarioUbicacion.isEmpty()) {
tabUbicacion.setSelected(Boolean.TRUE);
Messagebox.show(
Labels.getLabel("editarUsuarioController.MSG.necessitaUbicacion"),
Labels.getLabel("editarUsuarioController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
if (!senha.trim().equals("")) {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] pass = md.digest(senha.getBytes());
senha = Base64.byteArrayToBase64(pass);
usuario.setSenha(senha);
return;
}
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<UsuarioPerfil> lsUsuarioPerfil = usuarioPerfilService.obtenerPorUsuario(usuario);
for (UsuarioPerfil up2 : lsUsuarioPerfil) {
usuarioPerfilService.borrar(up2);
}
}
List<UsuarioPerfil> lsUp = new ArrayList<UsuarioPerfil>();
lsUp.add(up);
usuario.setUsuarioPerfilList(lsUp);
usuario.setUsuarioEmpresaList(lsUsuarioEmpresa);
usuario.setUsuarioUbicacionList(lsUsuarioUbicacion);
senha = hayCambioContrasena?senha:null;
usuarioService.suscribirActualizar(usuario, senha, perfil);
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"),
@ -658,30 +621,12 @@ public class EditarUsuarioController extends MyGenericForwardComposer {
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 {
Messagebox.show(
Labels.getLabel("editarUsuarioController.MSG.configmSenha"),
Labels.getLabel("editarUsuarioController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
}
} catch (Exception ex) {
} 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);
}
}

View File

@ -4812,3 +4812,8 @@ winMovimentacionBilhetesPuntoVenta.formfinal.label=Form.Final
winMovimentacionBilhetesPuntoVenta.tipoMovimentacion.label=Naturaleza
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

View File

@ -4893,3 +4893,9 @@ 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.
#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