@SkipValidation public String examinarSolicitud() { if (!sessionValidate()) return INPUT; session = ActionContext.getContext().getSession(); Usuario user = (Usuario) session.get("usuario"); solicitud = (SolicitudSuscripcion) read(solicitud, id_solicitud_suscripcion); // Valida que un trol quiera acceder a las solicitudes de otros entes if (!detalles_respuesta) { if (user.getId_ente() != solicitud.getId_ente_proveedor()) return INPUT; } else { if (user.getId_ente() != solicitud.getId_ente_solicitante()) return INPUT; } // Guardo que la solicitud ya ha sido revisada y por quien fue leida if (!solicitud.isLeido()) { solicitud.setLeido(true); solicitud.setId_usuario(user.getId_usuario()); update(solicitud, id_solicitud_suscripcion); } if (!detalles_respuesta) { detalles_solicitud = true; ente = (Ente) read(ente, solicitud.getId_ente_solicitante()); } else { ente = (Ente) read(ente, solicitud.getId_ente_proveedor()); } servicio = (ServicioInformacion) read(servicio, solicitud.getId_servicio_informacion()); return SUCCESS; }
@SkipValidation public String listaSuscripcionesPendientes() { if (!sessionValidate()) return INPUT; // Lista solicitudes en base a las no leidas, pendientes, session = ActionContext.getContext().getSession(); Usuario user = (Usuario) session.get("usuario"); solicitudes = (List<SubscriptionRequest>) getSolicitudesSuscripcionPendientes(user.getId_ente(), ASC); ListarSuscricionesPendientes = true; return SUCCESS; }
private void prepareRequest() { session = ActionContext.getContext().getSession(); Usuario user = (Usuario) session.get("usuario"); ente = (Ente) session.get("ente"); solicitud.setId_ente_proveedor( ((ServicioInformacion) read(servicio, id_servicio)).getId_ente()); solicitud.setId_ente_solicitante(user.getId_ente()); solicitud.setId_servicio_informacion(id_servicio); solicitud.setId_usuario(user.getId_usuario()); solicitud.setSentencia(PENDIENTE); }
@SkipValidation public String listarSolicitudesAceptadasRechazadas() { if (!sessionValidate()) return INPUT; // Lista solicitudes en base a las no leidas, pendientes, session = ActionContext.getContext().getSession(); Usuario user = (Usuario) session.get("usuario"); setSolicitudesRespondidas( (List<SubscriptionResponse>) getlistaSolicitudesAceptadasRechazadas(user.getId_ente(), ASC)); ListarSuscricionesAceptadasRechazadas = true; return SUCCESS; }
// TODO Enviar notificación por correo, falta colocar el mensaje registro // exitoso para la vista @SkipValidation public String aprobarRechazarSuscripcion() { if (!sessionValidate()) return INPUT; boolean err = false; String motivo_proveedor; int decision; // validar datos y guardar motivo_proveedor = solicitud.getMotivo_proveedor(); decision = solicitud.getSentencia(); session = ActionContext.getContext().getSession(); Usuario user = (Usuario) session.get("usuario"); if (solicitud.getMotivo_proveedor().trim().isEmpty()) { addFieldError( "motivo_proveedor", error.getProperties().getProperty("error.suscripcion.motivo_proveedor")); err = true; } else if (!solicitud.getMotivo_proveedor().toUpperCase().matches(REGEX_TITLE)) { addFieldError("motivo_proveedor", error.getProperties().getProperty("error.regex.title")); err = true; } if (!(solicitud.getSentencia() >= 1 && solicitud.getSentencia() <= 2)) { addFieldError("sentencia", error.getProperties().getProperty("error.suscripcion.sentencia")); err = true; } solicitud = (SolicitudSuscripcion) read(solicitud, id_solicitud_suscripcion); solicitud.setSentencia(decision); solicitud.setMotivo_proveedor(motivo_proveedor); ente = (Ente) read(ente, solicitud.getId_ente_solicitante()); servicio = (ServicioInformacion) read(servicio, solicitud.getId_servicio_informacion()); if (err) return INPUT; // Valida que un trol quiera acceder a las solicitudes de otros entes if (user.getId_ente() != solicitud.getId_ente_proveedor()) return INPUT; // Valida que la solicitud.sentencia sea igual a cero (0 = pendiente). if (solicitud.getSentencia() == 0) return INPUT; // Si la desición es ACEPTADO se crea el registro suscrito if (decision == 1) { Suscrito suscrito = new Suscrito(); suscrito.setId_ente(solicitud.getId_ente_solicitante()); suscrito.setId_servicio_informacion(solicitud.getId_servicio_informacion()); create(suscrito); } // Coloco a false leido para utilizarlo con el ente solicitante, en las // notificaciones. solicitud.setLeido(false); // Actualiza la solicitud de suscripción update(solicitud, solicitud.getId_solicitud_suscripcion()); addActionMessage("EL VEREDICTO DE LA SOLICITUD DE SUSCRIPCIÓN HA SIDO PROCESADA CORRECTAMENTE"); aprobarRechazar = false; return SUCCESS; }
@SkipValidation public String prepararAprobarRechazarSuscripcion() { if (!sessionValidate()) return INPUT; // Lee los detalles de la suscripción session = ActionContext.getContext().getSession(); Usuario user = (Usuario) session.get("usuario"); solicitud = (SolicitudSuscripcion) read(solicitud, id_solicitud_suscripcion); // Valida que un trol quiera acceder a las solicitudes de otros entes if (user.getId_ente() != solicitud.getId_ente_proveedor()) return INPUT; // Valida que la solicitud.sentencia sea igual a cero (0 = pendiente). if (!(solicitud.getSentencia() == 0)) return INPUT; ente = (Ente) read(ente, solicitud.getId_ente_solicitante()); servicio = (ServicioInformacion) read(servicio, solicitud.getId_servicio_informacion()); // Variable necesaria para la vista. aprobarRechazar = true; return SUCCESS; }