From 1b22f6a6493ea041dd6eb51208fcd9cfb808dcc7 Mon Sep 17 00:00:00 2001 From: julio Date: Tue, 26 May 2015 14:10:07 +0000 Subject: [PATCH] Alterar Perfil (fixes bug #6329) Tempo: 02 horas git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@44336 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../seguridad/EditarUsuarioController.java | 505 +++++++++--------- 1 file changed, 266 insertions(+), 239 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 e3314cc38..e8eea00df 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 @@ -51,6 +51,7 @@ import com.rjconsultores.ventaboletos.service.UsuarioService; import com.rjconsultores.ventaboletos.service.UsuarioSesionService; import com.rjconsultores.ventaboletos.service.UsuarioUbicacionService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.vo.segurida.PerfilJerarquia; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderUbicacion; @@ -65,6 +66,7 @@ import com.rjconsultores.ventaboletos.web.utilerias.render.RenderUsuarioEmpresa; public class EditarUsuarioController extends MyGenericForwardComposer { private static final long serialVersionUID = 1L; + private static Logger log = Logger.getLogger(EditarUsuarioController.class); private static final String CONTRASENA_VACIA = "**********"; @Autowired @@ -117,237 +119,10 @@ public class EditarUsuarioController extends MyGenericForwardComposer { private Button btnRemoverEmpresa; private Button btnAdicionarEmpresa; private Radio radioSim; - private static Logger log = Logger.getLogger(EditarUsuarioController.class); - - public MyListbox getUbicacionList() { - return ubicacionList; - } - - public void setUbicacionList(MyListbox ubicacionList) { - this.ubicacionList = ubicacionList; - } - - public List getLsUsuarioEmpresa() { - return lsUsuarioEmpresa; - } - - public void setLsUsuarioEmpresa(List lsUsuarioEmpresa) { - this.lsUsuarioEmpresa = lsUsuarioEmpresa; - } - - public MyListbox getEmpresaList() { - return empresaList; - } - - public void setEmpresaList(MyListbox empresaList) { - this.empresaList = empresaList; - } - - public Combobox getCmbParada() { - return cmbParada; - } - - public void setCmbParada(Combobox cmbParada) { - this.cmbParada = cmbParada; - } - - public Combobox getCmbPuntoVenta() { - return cmbPuntoVenta; - } - - public void setCmbPuntoVenta(Combobox cmbPuntoVenta) { - this.cmbPuntoVenta = cmbPuntoVenta; - } - - public Textbox getTxtConfirmSenha() { - return txtConfirmSenha; - } - - public void setTxtConfirmSenha(Textbox txtConfirmSenha) { - this.txtConfirmSenha = txtConfirmSenha; - } - - public Textbox getTxtSenha() { - return txtSenha; - } - - public void setTxtSenha(Textbox txtSenha) { - this.txtSenha = txtSenha; - } - - public List getLsPerfil() { - return lsPerfil; - } - - public void setLsPerfil(List lsPerfil) { - this.lsPerfil = lsPerfil; - } - - public List getLsEmpresa() { - return lsEmpresa; - } - - public void setLsEmpresa(List lsEmpresa) { - this.lsEmpresa = lsEmpresa; - } - - public Textbox getTxtNombUsuario() { - return txtNombUsuario; - } - - public void setTxtNombUsuario(Textbox txtNombUsuario) { - this.txtNombUsuario = txtNombUsuario; - } - - public Usuario getUsuario() { - return usuario; - } - - public void setUsuario(Usuario usuario) { - this.usuario = usuario; - } - - public Button getBtnAdicionarUbicacion() { - return btnAdicionarUbicacion; - } - - public void setBtnAdicionarUbicacion(Button btnAdicionarUbicacion) { - this.btnAdicionarUbicacion = btnAdicionarUbicacion; - } - - public Button getBtnApagar() { - return btnApagar; - } - - public void setBtnApagar(Button btnApagar) { - this.btnApagar = btnApagar; - } - - public Combobox getCmbPerfil() { - return cmbPerfil; - } - - public void setCmbPerfil(Combobox cmbPerfil) { - this.cmbPerfil = cmbPerfil; - } - - public Combobox getCmbEmpresa() { - return cmbEmpresa; - } - - public void setCmbEmpresa(Combobox cmbEmpresa) { - this.cmbEmpresa = cmbEmpresa; - } - - public List getLsUsuarioUbicacion() { - return lsUsuarioUbicacion; - } - - public void setLsUsuarioUbicacion(List lsUsuarioUbicacion) { - this.lsUsuarioUbicacion = lsUsuarioUbicacion; - } - - public Textbox getTxtCveUsuario() { - return txtCveUsuario; - } - - public void setTxtCveUsuario(Textbox txtCveUsuario) { - this.txtCveUsuario = txtCveUsuario; - } - - public Button getBtnRemoverUbicacion() { - return btnRemoverUbicacion; - } - - public UsuarioEmpresaService getUsuarioEmpresaService() { - return usuarioEmpresaService; - } - - public void setUsuarioEmpresaService(UsuarioEmpresaService usuarioEmpresaService) { - this.usuarioEmpresaService = usuarioEmpresaService; - } - - public void setBtnRemoverUbicacion(Button btnRemoverUbicacion) { - this.btnRemoverUbicacion = btnRemoverUbicacion; - } - - public PerfilService getPerfilService() { - return perfilService; - } - - public void setPerfilService(PerfilService perfilService) { - this.perfilService = perfilService; - } - - public Textbox getTxtNombMaterno() { - return txtNombMaterno; - } - - public void setTxtNombMaterno(Textbox txtNombMaterno) { - this.txtNombMaterno = txtNombMaterno; - } - - public Textbox getTxtNombPaterno() { - return txtNombPaterno; - } - - public void setTxtNombPaterno(Textbox txtNombPaterno) { - this.txtNombPaterno = txtNombPaterno; - } - - public Textbox getTxtCveEmpleado() { - return txtCveEmpleado; - } - - public void setTxtCveEmpleado(Textbox txtCveEmpleado) { - this.txtCveEmpleado = txtCveEmpleado; - } - - public Button getBtnPesquisa() { - return btnPesquisa; - } - - public void setBtnPesquisa(Button btnPesquisa) { - this.btnPesquisa = btnPesquisa; - } - - public Tab getTabUsuario() { - return tabUsuario; - } - - public void setTabUsuario(Tab tabUsuario) { - this.tabUsuario = tabUsuario; - } - - public Tab getTabUbicacion() { - return tabUbicacion; - } - - public void setTabUbicacion(Tab tabUbicacion) { - this.tabUbicacion = tabUbicacion; - } - - public Perfil getPerfilSeleccionada() { - return perfilSeleccionada; - } - - public void setPerfilSeleccionada(Perfil perfilSeleccionada) { - this.perfilSeleccionada = perfilSeleccionada; - } - - private void enableAddUbicacion() { - if (lsUsuarioUbicacion.size() > 0) { - btnAdicionarUbicacion.setDisabled(true); - } else { - btnAdicionarUbicacion.setDisabled(false); - } - } @Override public void doAfterCompose(Component comp) throws Exception { - // lsPerfil = perfilService.obtenerTodos(); - Usuario usuarioLogado = usuarioService.obtenerID(UsuarioLogado.getUsuarioLogado().getUsuarioId()); Perfil perfilUsuario = usuarioLogado.getUsuarioPerfilList().get(0).getPerfil(); @@ -405,20 +180,56 @@ public class EditarUsuarioController extends MyGenericForwardComposer { txtConfirmSenha.setText(CONTRASENA_VACIA); } - if (!usrAdmin) { - cmbPerfil.setDisabled(Boolean.TRUE); - txtCveUsuario.setDisabled(Boolean.TRUE); - btnApagar.setVisible(Boolean.FALSE); + validaUsuarioAdmin(perfilUsuario); - btnAdicionarUbicacion.setVisible(Boolean.FALSE); - btnRemoverUbicacion.setVisible(Boolean.FALSE); - btnAdicionarEmpresa.setVisible(Boolean.FALSE); - btnRemoverEmpresa.setVisible(Boolean.FALSE); - cmbParada.setDisabled(Boolean.TRUE); - cmbPuntoVenta.setDisabled(Boolean.TRUE); - chkCorteTurnoAutomatico.setDisabled(Boolean.TRUE); + } + + private void validaUsuarioAdmin(Perfil perfilUsuario) { + + if (usrAdmin) { + PerfilJerarquia usuarioJerarquia = perfilUsuario.getIndJerarquia() == null ? PerfilJerarquia.NORMAL : PerfilJerarquia.buscar(perfilUsuario.getIndJerarquia()); + PerfilJerarquia selecionadoJerarquia = perfilSeleccionada.getIndJerarquia() == null ? PerfilJerarquia.NORMAL : PerfilJerarquia.buscar(perfilSeleccionada.getIndJerarquia()); + if (!usuarioJerarquia.equals(PerfilJerarquia.ADMIN)) { + if (!usuarioJerarquia.equals(selecionadoJerarquia)) { + + if (selecionadoJerarquia.equals(PerfilJerarquia.NORMAL)) { + if (selecionadoJerarquia.getValor() > usuarioJerarquia.getValor()) + desabilitarAdmin(); + } else { + if (selecionadoJerarquia.getValor() < usuarioJerarquia.getValor()) + desabilitarAdmin(); + } + } + } + } else { + desabilitarAdmin(); } + } + public void desabilitarAdmin() { + + usrAdmin = Boolean.FALSE; + + cmbPerfil.setDisabled(Boolean.TRUE); + txtCveUsuario.setDisabled(Boolean.TRUE); + btnApagar.setVisible(Boolean.FALSE); + + btnAdicionarUbicacion.setVisible(Boolean.FALSE); + btnRemoverUbicacion.setVisible(Boolean.FALSE); + btnAdicionarEmpresa.setVisible(Boolean.FALSE); + btnRemoverEmpresa.setVisible(Boolean.FALSE); + cmbParada.setDisabled(Boolean.TRUE); + cmbPuntoVenta.setDisabled(Boolean.TRUE); + chkCorteTurnoAutomatico.setDisabled(Boolean.TRUE); + + } + + private void enableAddUbicacion() { + if (lsUsuarioUbicacion.size() > 0) { + btnAdicionarUbicacion.setDisabled(true); + } else { + btnAdicionarUbicacion.setDisabled(false); + } } public void onFocus$txtSenha(Event ev) { @@ -743,6 +554,222 @@ public class EditarUsuarioController extends MyGenericForwardComposer { } catch (InterruptedException e1) { } } - } + + public MyListbox getUbicacionList() { + return ubicacionList; + } + + public void setUbicacionList(MyListbox ubicacionList) { + this.ubicacionList = ubicacionList; + } + + public List getLsUsuarioEmpresa() { + return lsUsuarioEmpresa; + } + + public void setLsUsuarioEmpresa(List lsUsuarioEmpresa) { + this.lsUsuarioEmpresa = lsUsuarioEmpresa; + } + + public MyListbox getEmpresaList() { + return empresaList; + } + + public void setEmpresaList(MyListbox empresaList) { + this.empresaList = empresaList; + } + + public Combobox getCmbParada() { + return cmbParada; + } + + public void setCmbParada(Combobox cmbParada) { + this.cmbParada = cmbParada; + } + + public Combobox getCmbPuntoVenta() { + return cmbPuntoVenta; + } + + public void setCmbPuntoVenta(Combobox cmbPuntoVenta) { + this.cmbPuntoVenta = cmbPuntoVenta; + } + + public Textbox getTxtConfirmSenha() { + return txtConfirmSenha; + } + + public void setTxtConfirmSenha(Textbox txtConfirmSenha) { + this.txtConfirmSenha = txtConfirmSenha; + } + + public Textbox getTxtSenha() { + return txtSenha; + } + + public void setTxtSenha(Textbox txtSenha) { + this.txtSenha = txtSenha; + } + + public List getLsPerfil() { + return lsPerfil; + } + + public void setLsPerfil(List lsPerfil) { + this.lsPerfil = lsPerfil; + } + + public List getLsEmpresa() { + return lsEmpresa; + } + + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } + + public Textbox getTxtNombUsuario() { + return txtNombUsuario; + } + + public void setTxtNombUsuario(Textbox txtNombUsuario) { + this.txtNombUsuario = txtNombUsuario; + } + + public Usuario getUsuario() { + return usuario; + } + + public void setUsuario(Usuario usuario) { + this.usuario = usuario; + } + + public Button getBtnAdicionarUbicacion() { + return btnAdicionarUbicacion; + } + + public void setBtnAdicionarUbicacion(Button btnAdicionarUbicacion) { + this.btnAdicionarUbicacion = btnAdicionarUbicacion; + } + + public Button getBtnApagar() { + return btnApagar; + } + + public void setBtnApagar(Button btnApagar) { + this.btnApagar = btnApagar; + } + + public Combobox getCmbPerfil() { + return cmbPerfil; + } + + public void setCmbPerfil(Combobox cmbPerfil) { + this.cmbPerfil = cmbPerfil; + } + + public Combobox getCmbEmpresa() { + return cmbEmpresa; + } + + public void setCmbEmpresa(Combobox cmbEmpresa) { + this.cmbEmpresa = cmbEmpresa; + } + + public List getLsUsuarioUbicacion() { + return lsUsuarioUbicacion; + } + + public void setLsUsuarioUbicacion(List lsUsuarioUbicacion) { + this.lsUsuarioUbicacion = lsUsuarioUbicacion; + } + + public Textbox getTxtCveUsuario() { + return txtCveUsuario; + } + + public void setTxtCveUsuario(Textbox txtCveUsuario) { + this.txtCveUsuario = txtCveUsuario; + } + + public Button getBtnRemoverUbicacion() { + return btnRemoverUbicacion; + } + + public UsuarioEmpresaService getUsuarioEmpresaService() { + return usuarioEmpresaService; + } + + public void setUsuarioEmpresaService(UsuarioEmpresaService usuarioEmpresaService) { + this.usuarioEmpresaService = usuarioEmpresaService; + } + + public void setBtnRemoverUbicacion(Button btnRemoverUbicacion) { + this.btnRemoverUbicacion = btnRemoverUbicacion; + } + + public PerfilService getPerfilService() { + return perfilService; + } + + public void setPerfilService(PerfilService perfilService) { + this.perfilService = perfilService; + } + + public Textbox getTxtNombMaterno() { + return txtNombMaterno; + } + + public void setTxtNombMaterno(Textbox txtNombMaterno) { + this.txtNombMaterno = txtNombMaterno; + } + + public Textbox getTxtNombPaterno() { + return txtNombPaterno; + } + + public void setTxtNombPaterno(Textbox txtNombPaterno) { + this.txtNombPaterno = txtNombPaterno; + } + + public Textbox getTxtCveEmpleado() { + return txtCveEmpleado; + } + + public void setTxtCveEmpleado(Textbox txtCveEmpleado) { + this.txtCveEmpleado = txtCveEmpleado; + } + + public Button getBtnPesquisa() { + return btnPesquisa; + } + + public void setBtnPesquisa(Button btnPesquisa) { + this.btnPesquisa = btnPesquisa; + } + + public Tab getTabUsuario() { + return tabUsuario; + } + + public void setTabUsuario(Tab tabUsuario) { + this.tabUsuario = tabUsuario; + } + + public Tab getTabUbicacion() { + return tabUbicacion; + } + + public void setTabUbicacion(Tab tabUbicacion) { + this.tabUbicacion = tabUbicacion; + } + + public Perfil getPerfilSeleccionada() { + return perfilSeleccionada; + } + + public void setPerfilSeleccionada(Perfil perfilSeleccionada) { + this.perfilSeleccionada = perfilSeleccionada; + } + }