diff --git a/src/com/rjconsultores/ventaboletos/auditoria/AuditControl.java b/src/com/rjconsultores/ventaboletos/auditoria/AuditControl.java index e9fcea760..c02003df3 100644 --- a/src/com/rjconsultores/ventaboletos/auditoria/AuditControl.java +++ b/src/com/rjconsultores/ventaboletos/auditoria/AuditControl.java @@ -25,6 +25,8 @@ public class AuditControl { private String currentActionService; private Boolean checkModuleAudit; private AuditService currentService; + private Boolean auditar; + private static Gson gson; private static SimpleDateFormat sdf; @@ -217,4 +219,12 @@ public class AuditControl { public void setCheckModuleAudit(Boolean checkModuleAudit) { this.checkModuleAudit = checkModuleAudit; } + + public Boolean getAuditar() { + return auditar; + } + + public void setAuditar(Boolean auditar) { + this.auditar = auditar; + } } diff --git a/src/com/rjconsultores/ventaboletos/auditoria/interceptor/AuditInterceptor.java b/src/com/rjconsultores/ventaboletos/auditoria/interceptor/AuditInterceptor.java index d628e92b3..99ef0d003 100644 --- a/src/com/rjconsultores/ventaboletos/auditoria/interceptor/AuditInterceptor.java +++ b/src/com/rjconsultores/ventaboletos/auditoria/interceptor/AuditInterceptor.java @@ -17,16 +17,17 @@ import com.rjconsultores.ventaboletos.auditoria.AuditManager; import com.rjconsultores.ventaboletos.dao.util.DBUtil; import com.rjconsultores.ventaboletos.entidad.AuditLog; import com.rjconsultores.ventaboletos.entidad.AuditService; +import com.rjconsultores.ventaboletos.entidad.Constante; import com.rjconsultores.ventaboletos.entidad.FuncionSistema; import com.rjconsultores.ventaboletos.entidad.Sistema; import com.rjconsultores.ventaboletos.enums.auditoria.EnumAuditAction; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; public class AuditInterceptor extends EmptyInterceptor { - - private static Logger log = Logger.getLogger(AuditInterceptor.class); private static final long serialVersionUID = 1L; + private static Logger log = Logger.getLogger(AuditInterceptor.class); + // Considera que o ADM sempre tenha o ID igual a 1 private Integer SISTEMA_ID = 1; @@ -127,6 +128,29 @@ public class AuditInterceptor extends EmptyInterceptor { } private boolean getAuditModuleService(final Session session) { + if (AuditManager.getINSTANCE().getAuditar() == null) { + Criteria criteriaAuditar = session.createCriteria(Constante.class); + criteriaAuditar.add(Restrictions.eq("nombconstante", "AUDITAR_SISTEMA")); + criteriaAuditar.add(Restrictions.eq("activo", Boolean.TRUE)); + Constante constante = (Constante) criteriaAuditar.uniqueResult(); + + Boolean auditar = Boolean.FALSE; + + if (constante != null) { + try { + auditar = Boolean.valueOf(constante.getValorconstante()); + } catch (Exception e) { + log.error(e.getMessage(), e); + } + } + + AuditManager.getINSTANCE().setAuditar(auditar); + } + + if (AuditManager.getINSTANCE().getAuditar() == null || !AuditManager.getINSTANCE().getAuditar()) { + return false; + } + if (!AuditManager.getINSTANCE().getCheckModuleAudit()) { return AuditManager.getINSTANCE().getCurrentService() != null ? true : false; }