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; package com.rjconsultores.ventaboletos.web.gui.controladores.seguridad;
import java.security.MessageDigest;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.Collections; 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.UsuarioEmpresa;
import com.rjconsultores.ventaboletos.entidad.UsuarioPerfil; import com.rjconsultores.ventaboletos.entidad.UsuarioPerfil;
import com.rjconsultores.ventaboletos.entidad.UsuarioUbicacion; import com.rjconsultores.ventaboletos.entidad.UsuarioUbicacion;
import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.service.EmpleadoService; import com.rjconsultores.ventaboletos.service.EmpleadoService;
import com.rjconsultores.ventaboletos.service.EmpresaService; import com.rjconsultores.ventaboletos.service.EmpresaService;
import com.rjconsultores.ventaboletos.service.PerfilService; 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.UsuarioService;
import com.rjconsultores.ventaboletos.service.UsuarioUbicacionService; import com.rjconsultores.ventaboletos.service.UsuarioUbicacionService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; 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.MyGenericForwardComposer;
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderUbicacion; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderUbicacion;
@ -63,6 +62,7 @@ import com.rjconsultores.ventaboletos.web.utilerias.render.RenderUsuarioEmpresa;
@Scope("prototype") @Scope("prototype")
public class EditarUsuarioController extends MyGenericForwardComposer { public class EditarUsuarioController extends MyGenericForwardComposer {
private static final String CONTRASENA_VACIA = "**********";
@Autowired @Autowired
private UsuarioService usuarioService; private UsuarioService usuarioService;
@Autowired @Autowired
@ -389,8 +389,8 @@ public class EditarUsuarioController extends MyGenericForwardComposer {
perfilSeleccionada = lsUsuarioPerfil.get(0).getPerfil(); perfilSeleccionada = lsUsuarioPerfil.get(0).getPerfil();
} }
txtSenha.setText("**********"); txtSenha.setText(CONTRASENA_VACIA);
txtConfirmSenha.setText("**********"); txtConfirmSenha.setText(CONTRASENA_VACIA);
} }
if (!usrAdmin) { if (!usrAdmin) {
@ -410,7 +410,7 @@ public class EditarUsuarioController extends MyGenericForwardComposer {
} }
public void onFocus$txtSenha(Event ev) { public void onFocus$txtSenha(Event ev) {
if (txtSenha.getValue().equals("**********")) { if (txtSenha.getValue().equals(CONTRASENA_VACIA)) {
txtSenha.setConstraint(""); txtSenha.setConstraint("");
txtSenha.setText(""); txtSenha.setText("");
txtSenha.setConstraint("no empty"); txtSenha.setConstraint("no empty");
@ -423,7 +423,7 @@ public class EditarUsuarioController extends MyGenericForwardComposer {
} }
public void onFocus$txtConfirmSenha(Event ev) { public void onFocus$txtConfirmSenha(Event ev) {
if (txtConfirmSenha.getValue().equals("**********")) { if (txtConfirmSenha.getValue().equals(CONTRASENA_VACIA)) {
txtSenha.setConstraint(""); txtSenha.setConstraint("");
txtSenha.setText(""); txtSenha.setText("");
txtSenha.setConstraint("no empty"); 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"); txtSenha.setConstraint("no empty");
txtConfirmSenha.setConstraint("no empty"); txtConfirmSenha.setConstraint("no empty");
@ -578,79 +578,42 @@ public class EditarUsuarioController extends MyGenericForwardComposer {
String senha = ""; String senha = "";
String confirmSenha = ""; String confirmSenha = "";
if (!txtSenha.getValue().equals("**********")) { if (!txtSenha.getValue().equals(CONTRASENA_VACIA)) {
senha = txtSenha.getText(); senha = txtSenha.getText();
confirmSenha = txtConfirmSenha.getText(); confirmSenha = txtConfirmSenha.getText();
hayCambioContrasena=true;
} }
try { try {
if (senha.equals(confirmSenha)) { if (!senha.equals(confirmSenha)) {
usuario.setActivo(Boolean.TRUE); Messagebox.show(
usuario.setFecmodif(Calendar.getInstance().getTime()); Labels.getLabel("editarUsuarioController.MSG.configmSenha"),
usuario.setUsuariomodifId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); Labels.getLabel("editarUsuarioController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
List<Usuario> lsUsuario = usuarioService.buscarPelaCveUsuario(usuario.getClaveUsuario()); return;
boolean podeSalvar = false;
if (lsUsuario.isEmpty()) {
podeSalvar = true;
} else {
for (Usuario u : lsUsuario) {
if (u.getUsuarioId().equals(usuario.getUsuarioId())) {
podeSalvar = true;
}
}
} }
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("")) { return;
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] pass = md.digest(senha.getBytes());
senha = Base64.byteArrayToBase64(pass);
usuario.setSenha(senha);
} }
Perfil perfil = (Perfil) cmbPerfil.getSelectedItem().getValue(); 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.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) { if (usrAdmin) {
usuarioList.updateItem(usuario); usuarioList.updateItem(usuario);
} }
}
for (UsuarioUbicacion uu : lsUsuarioUbicacion) {
if (uu.getUsuarioubicacionId() == null) {
uu.setUsuario(usuario);
usuarioUbicacionService.suscribir(uu);
}
}
Messagebox.show( Messagebox.show(
Labels.getLabel("editarUsuarioController.MSG.suscribirOK"), Labels.getLabel("editarUsuarioController.MSG.suscribirOK"),
@ -658,30 +621,12 @@ public class EditarUsuarioController extends MyGenericForwardComposer {
Messagebox.OK, Messagebox.INFORMATION); Messagebox.OK, Messagebox.INFORMATION);
closeWindow(); closeWindow();
} else {
tabUbicacion.setSelected(Boolean.TRUE); } catch (BusinessException ex) {
Messagebox.show( log.info(ex.getLocalizedMessage());
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) {
Clients.alert( Clients.alert(
Labels.getLabel("MSG.Error"), ex.getLocalizedMessage(),
Labels.getLabel("editarUsuarioController.window.title"), Messagebox.ERROR); Labels.getLabel("editarUsuarioController.window.title"), Messagebox.INFORMATION);
log.error(ex);
} }
} }
@ -717,12 +662,12 @@ public class EditarUsuarioController extends MyGenericForwardComposer {
if (cbiParada != null) { if (cbiParada != null) {
lsPuntoVenta = puntoVentaService.buscaPuntoVentaParada((Parada) cmbParada.getSelectedItem().getValue()); lsPuntoVenta = puntoVentaService.buscaPuntoVentaParada((Parada) cmbParada.getSelectedItem().getValue());
cmbPuntoVenta.setModel(new ListModelList(lsPuntoVenta)); cmbPuntoVenta.setModel(new ListModelList(lsPuntoVenta));
if (lsPuntoVenta.isEmpty()){ if (lsPuntoVenta.isEmpty()) {
cmbPuntoVenta.setText((String)null); cmbPuntoVenta.setText((String) null);
} }
}else{ } else {
cmbPuntoVenta.setModel(new ListModelList(Collections.emptyList())); cmbPuntoVenta.setModel(new ListModelList(Collections.emptyList()));
cmbPuntoVenta.setText((String)null); cmbPuntoVenta.setText((String) null);
} }
} }

View File

@ -4812,3 +4812,8 @@ winMovimentacionBilhetesPuntoVenta.formfinal.label=Form.Final
winMovimentacionBilhetesPuntoVenta.tipoMovimentacion.label=Naturaleza winMovimentacionBilhetesPuntoVenta.tipoMovimentacion.label=Naturaleza
indexController.mniMovimentacionBilhetesPuntoVenta.label=Movimentación de Estoque - Agencia 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.empresaJaCadastrada=Não foi possível incluir Parâmetro OCD. Empresa já cadastrada!
editarOCDParamController.MSG.borrarPergunta = Deseja eliminar o Parâmetro OCD? editarOCDParamController.MSG.borrarPergunta = Deseja eliminar o Parâmetro OCD?
editarOCDParamController.MSG.borrarOK = Parâmetro OCD eliminado com sucesso. 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