primeros cambios de permisos

parent 7cb3d3d0
package com.mx.dla.configuration;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
import com.opensymphony.xwork2.ActionContext;
import java.util.Map;
public class AuthInterceptor extends AbstractInterceptor {
@Override
public String intercept(ActionInvocation invocation) throws Exception {
System.out.println("Entro");
//return "accessDenied";
//}
// Continuar con el flujo normal si los permisos son vlidos
return invocation.invoke();
}
}
...@@ -24,6 +24,7 @@ public class ObtenerPermisosAction extends BaseContratoAction { ...@@ -24,6 +24,7 @@ public class ObtenerPermisosAction extends BaseContratoAction {
private List<PermisoDTO> permisos; private List<PermisoDTO> permisos;
private AreaDTO area; private AreaDTO area;
private UsuarioDTO usuario; private UsuarioDTO usuario;
private Integer permisoSi;
@Autowired @Autowired
private GeneralesBO generalesBO; private GeneralesBO generalesBO;
...@@ -46,9 +47,28 @@ public class ObtenerPermisosAction extends BaseContratoAction { ...@@ -46,9 +47,28 @@ public class ObtenerPermisosAction extends BaseContratoAction {
throw new TransaccionException("Ocurrio un error", e); throw new TransaccionException("Ocurrio un error", e);
} }
setPermisos(permisosS); setPermisos(permisosS);
if(!getPmn().equals("1")) {
if(tienePermiso(permisosS, getPmn())) {
//System.out.println("Tiene permiso para " + getPmn());
permisoSi = 1;
} else {
//System.out.println("No tiene permiso para " + getPmn());
logger.error("El usuario no tiene el permiso. {}", getPmn());
permisoSi = 0;
}
}
return SUCCESS; return SUCCESS;
} }
private boolean tienePermiso(List<PermisoDTO> permisos, String id) {
for(PermisoDTO permiso : permisos) {
if(permiso.getIdMenu().toString().equals(id)) {
return true;
}
}
return false;
}
public void setPermisos(List<PermisoDTO> permisos) { public void setPermisos(List<PermisoDTO> permisos) {
this.permisos = permisos; this.permisos = permisos;
} }
...@@ -72,4 +92,14 @@ public class ObtenerPermisosAction extends BaseContratoAction { ...@@ -72,4 +92,14 @@ public class ObtenerPermisosAction extends BaseContratoAction {
public UsuarioDTO getUsuario() { public UsuarioDTO getUsuario() {
return usuario; return usuario;
} }
public Integer getPermisoSi() {
return permisoSi;
}
public void setPermisoSi(Integer permisoSi) {
this.permisoSi = permisoSi;
}
} }
...@@ -417,10 +417,11 @@ function PerfilController() { ...@@ -417,10 +417,11 @@ function PerfilController() {
} }
//ejecuta obtenerprmisos.action_________________________________ //ejecuta obtenerprmisos.action_________________________________
PerfilController.prototype.ejecutarPerfil = function(pmn) { PerfilController.prototype.ejecutarPerfil = function(pmn) {
var data = this.perfilService.obtenerPermisos(); var data = this.perfilService.obtenerPermisos(pmn);
var vpermisos = data.permisos; var vpermisos = data.permisos;
var varea = data.area; var varea = data.area;
var vusuario = data.usuario; var vusuario = data.usuario;
var permisoSi = data.permisoSi
//INICIAN permisos para Carga Transacciones y Promociones... //INICIAN permisos para Carga Transacciones y Promociones...
...@@ -435,7 +436,9 @@ PerfilController.prototype.ejecutarPerfil = function(pmn) { ...@@ -435,7 +436,9 @@ PerfilController.prototype.ejecutarPerfil = function(pmn) {
$("#pEliminarFalse").css("display", "block"); $("#pEliminarFalse").css("display", "block");
$("#pDetalleTrue").css("display", "none"); $("#pDetalleTrue").css("display", "none");
$("#pDetalleFalse").css("display", "block"); $("#pDetalleFalse").css("display", "block");
if(permisoSi === 0){
window.location.href = '/dla/jsp/errorPermiso.jsp';
}
for(var A=0; A < vpermisos.length; A++ ){ for(var A=0; A < vpermisos.length; A++ ){
//transacciones //transacciones
......
function PerfilService() { function PerfilService() {
} }
PerfilService.prototype.obtenerPermisos = function() { PerfilService.prototype.obtenerPermisos = function(pmn) {
var jsonString = '{"idContrato" : "'+ 1 +'"}';//falta verificar si es necesario enviar algo var jsonString = '{"idContrato" : "'+ 1 +'", "pmn" : "'+ pmn +'"}';//falta verificar si es necesario enviar algo
var data = JSON.parse(jsonString); var data = JSON.parse(jsonString);
var resp = {}; var resp = {};
this.ajaxCall("obtenerPermisos", data, function (response) { resp = response; }); this.ajaxCall("obtenerPermisos", data, function (response) { resp = response; });
...@@ -16,6 +16,7 @@ PerfilService.prototype.ajaxCall = function(action, data, success) { ...@@ -16,6 +16,7 @@ PerfilService.prototype.ajaxCall = function(action, data, success) {
data : data, data : data,
async : false, async : false,
success : function (response) { success : function (response) {
console.log(response);
success(response); success(response);
//se puede definir un unsuccess apartir de la respuesta del action //se puede definir un unsuccess apartir de la respuesta del action
}, },
......
var uploaderEst = new UploaderEX("cargaFeesDivEst"); //Se crear el objeto para cargar archivos var uploaderEst = new UploaderEX("cargaFeesDivEst"); //Se crear el objeto para cargar archivos
var datosSubirEst = null; var datosSubirEst = null;
var perfil; var perfil;
......
$().ready(function() {
var perfilController = new PerfilController();
perfilController.ejecutarPerfil("26");
});
function UploaderEX(divUploader) function UploaderEX(divUploader)
{ {
......
...@@ -110,4 +110,7 @@ ...@@ -110,4 +110,7 @@
<script type="text/javascript" language="javascript" src="${contextPath}/js/dda/contrato/transaccion/fees/feesValidateService.js"></script> <script type="text/javascript" language="javascript" src="${contextPath}/js/dda/contrato/transaccion/fees/feesValidateService.js"></script>
<script type="text/javascript" language="javascript" src="${contextPath}/js/dda/contrato/transaccion/comun/tablaService.js"></script> <script type="text/javascript" language="javascript" src="${contextPath}/js/dda/contrato/transaccion/comun/tablaService.js"></script>
<script src="${contextPath}/js/common/perfil/perfilService.js?v=${versionJS}"></script>
<script src="${contextPath}/js/common/perfil/perfilController.js?v=${versionJS}"></script>
<%@include file="/jsp/common/defaultBottomLogin.jsp"%> <%@include file="/jsp/common/defaultBottomLogin.jsp"%>
\ No newline at end of file
...@@ -58,6 +58,7 @@ ...@@ -58,6 +58,7 @@
.tdEditable{ .tdEditable{
min-width : 60px; min-width : 60px;
} }
</style> </style>
<script type="text/javascript"> <script type="text/javascript">
...@@ -88,20 +89,19 @@ $(document).ready(function() { ...@@ -88,20 +89,19 @@ $(document).ready(function() {
<div class="container" ng-controller="terminosController"> <div class="container" ng-controller="terminosController">
<jsp:include page="/jsp/dda/contrato/transaccion/terminos/secciones/terminosModales.jsp" /> <jsp:include page="/jsp/dda/contrato/transaccion/terminos/secciones/terminosModales.jsp" />
<div class="form-group">
<div class="row"> <div class="row">
<div class="col-sm-3" >
<div class="form-inline"> <label class="control-label" >Fecha del Contrato</label>
<div class="form-group col-sm-1" >
<label>Fecha del Contrato</label>
</div> </div>
<div class="form-group col-sm-4"> <div class="col-sm-3">
<input type="text" class="form-control" id="fechaInicioCto" ng-model="fechaInicioCto" value="{{fechaInicioCto}}" readonly="readonly"> <input type="text" class="form-control" id="fechaInicioCto" ng-model="fechaInicioCto" value="{{fechaInicioCto}}" readonly="readonly">
<input type="text" class="form-control" id="fechaFinCto" ng-model="fechaFinCto" value="{{fechaFinCto}}" readonly="readonly"/> <input type="text" class="form-control" id="fechaFinCto" ng-model="fechaFinCto" value="{{fechaFinCto}}" readonly="readonly"/>
</div> </div>
<div class="form-group col-sm-1"> <div class="col-sm-3">
<label>Tipo de Cambio</label> <label class="control-label" >Tipo de Cambio</label>
</div> </div>
<div class="form-group col-sm-3"> <div class="col-sm-3">
<select name="tipoCambio" id="tipoCambio" ng-model="tipoCambio"> <select name="tipoCambio" id="tipoCambio" ng-model="tipoCambio">
<option ng-repeat="option in tiposCambio" <option ng-repeat="option in tiposCambio"
...@@ -111,10 +111,13 @@ $(document).ready(function() { ...@@ -111,10 +111,13 @@ $(document).ready(function() {
</select> </select>
</div> </div>
<div class="form-group col-sm-1" >
<label>Inflacin</label>
</div> </div>
<div class="form-group col-sm-1" > <br>
<div class="row">
<div class="col-sm-3" >
<label class="control-label" >Inflacin</label>
</div>
<div class="col-sm-3" >
<input type="text" id="inflacionTx" ng-model="inflacion" class="form-control"/> <input type="text" id="inflacionTx" ng-model="inflacion" class="form-control"/>
</div> </div>
</div> </div>
...@@ -125,8 +128,8 @@ $(document).ready(function() { ...@@ -125,8 +128,8 @@ $(document).ready(function() {
<nav class="navbar navbar-default col-sm-9""> <div class="row">
<div class="navbar-inner "> <div>
<ul class="nav nav-tabs"> <ul class="nav nav-tabs">
<li class="active"><a data-bs-toggle="tab" href="#home" ng-click="inicializarPremium()">Premium (Type 1)</a></li> <li class="active"><a data-bs-toggle="tab" href="#home" ng-click="inicializarPremium()">Premium (Type 1)</a></li>
<li> <a data-bs-toggle="tab" href="#menu1" ng-click="inicializarPremier()">Premier (Type 1)</a></li> <li> <a data-bs-toggle="tab" href="#menu1" ng-click="inicializarPremier()">Premier (Type 1)</a></li>
...@@ -135,7 +138,7 @@ $(document).ready(function() { ...@@ -135,7 +138,7 @@ $(document).ready(function() {
<li> <a data-bs-toggle="tab" href="#menu4" ng-click="inicializarSeries()">EPISODIOS DE SERIE (EST 8)</a></li> <li> <a data-bs-toggle="tab" href="#menu4" ng-click="inicializarSeries()">EPISODIOS DE SERIE (EST 8)</a></li>
</ul> </ul>
</div> </div>
</nav> </div>
<br/> <br/>
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
<script> <script>
function goBack() { function goBack() {
window.history.back(); window.location.href = '/dla/inicio.action';
} }
</script> </script>
</body> </body>
......
<!DOCTYPE html >
<%@ page language="java" contentType="text/html; charset=iso-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ taglib uri="/WEB-INF/struts-tags.tld" prefix="s"%>
<%@ taglib uri="http://www.springframework.org/security/tags" prefix="sec"%>
<c:set var="contextPath" value="${pageContext.request.contextPath}" scope="request" />
<html>
<head>
<title>Error</title>
<meta http-equiv="X-UA-Compatible" content="IE=EDGE">
<%@include file="/jsp/common/scripts.jsp"%>
<%@include file="/jsp/common/styles.jsp"%>
<style>
body {
font-family: Arial, sans-serif;
text-align: center;
padding: 50px;
background-color: #f8f9fa;
}
.error-container {
background-color: #fff;
border: 1px solid #dee2e6;
border-radius: 5px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
padding: 20px;
display: inline-block;
}
.error-message {
color: #dc3545;
font-size: 24px;
margin-bottom: 20px;
}
.error-description {
color: #6c757d;
font-size: 18px;
}
.back-button {
background-color: red;
color: white;
border: none;
padding: 10px 20px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin: 4px 2px;
cursor: pointer;
border-radius: 4px;
}
.back-button:hover {
background-color: darkred;
}
.container {
display: flex;
justify-content: center;
align-items: center;
height: 10vh;
text-align: center;
}
</style>
</head>
<body>
<div class="error-container">
<div class="error-message">No tiene permiso de acceso a esta secci&oacute;n.</div>
<div class="error-description">Por favor, solicite los permisos con el administrador.</div>
</div>
<div class="container">
<button class="back-button" onclick="goBack()">Regresar</button>
</div>
<script>
function goBack() {
window.location.href = '/dla/inicio.action';
}
</script>
</body>
</html>
...@@ -68,7 +68,6 @@ ...@@ -68,7 +68,6 @@
DLA_C_PERFIL_MENU cpm, DLA_C_MENU cm DLA_C_PERFIL_MENU cpm, DLA_C_MENU cm
WHERE cpm.ID_MENU = cm.ID_MENU WHERE cpm.ID_MENU = cm.ID_MENU
AND cpm.ID_PERFIL = #{idPerfil} AND cpm.ID_PERFIL = #{idPerfil}
AND cm.TIPO_MENU = 0
AND cm.ESTATUS = 1 AND cm.ESTATUS = 1
ORDER BY cpm.ID_MENU ORDER BY cpm.ID_MENU
</select> </select>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment