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 e6dc4c296..fe4f27b17 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 @@ -157,7 +157,7 @@ public class EditarUsuarioController extends MyGenericForwardComposer { Usuario usuarioS = (Usuario) Executions.getCurrent().getArg().get("usuario"); usuario = (usuarioS.getUsuarioId() == null) ? usuarioS : usuarioService.obtenerID(usuarioS.getUsuarioId()); usuarioList = (MyListbox) Executions.getCurrent().getArg().get("usuarioList"); - usrAdmin = (Boolean) Executions.getCurrent().getArg().get("usrAdmin"); + usrAdmin = perfilUsuario.getPerfilId().equals(1) ? true: false; lsUsuarioUbicacion = new ArrayList(); if (usuario.getUsuarioId() != null) { @@ -226,6 +226,7 @@ public class EditarUsuarioController extends MyGenericForwardComposer { private void validaUsuarioAdmin(Perfil perfilUsuario) { chkCorteTurnoAutomatico.setDisabled(!validaHabilitarViradaCaixaAutomatico()); + boolean constanteValidacao = ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.IS_DESABILITA_USUARIO_ADMINISTRADORES_PERFIL.getDescricao()); if (usrAdmin) { PerfilJerarquia usuarioJerarquia = perfilUsuario.getIndJerarquia() == null ? PerfilJerarquia.NORMAL : PerfilJerarquia.buscar(perfilUsuario.getIndJerarquia()); @@ -243,11 +244,30 @@ public class EditarUsuarioController extends MyGenericForwardComposer { } } } - } else { - desabilitarAdmin(); - if (!possuiPermissaoUsuario()) { - habilitarApenasUsuarioSenha(); + } + else { + if(constanteValidacao){ + if(!perfilUsuario.getPerfilId().equals(PerfilJerarquia.ADMIN.getValor())) { + List listTemp = new ArrayList(lsPerfil); + for (Perfil perfil : lsPerfil) { + if (PerfilJerarquia.ADMIN.getValor().equals(perfil.getPerfilId())) { + listTemp.remove(perfil); + } + if (perfilUsuario.getDescperfil() != null && !PerfilJerarquia.ADMINISTRADORES.getValorCaracter().equals(perfilUsuario.getDescperfil().trim())) { + if (PerfilJerarquia.ADMINISTRADORES.getValorCaracter().equals(perfil.getDescperfil().trim())) { + listTemp.remove(perfil); + } + } + } + lsPerfil = new ArrayList(listTemp); + } + }else{ + desabilitarAdmin(); + if (!possuiPermissaoUsuario()) { + habilitarApenasUsuarioSenha(); + } } + } }