TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/17Franco/CulturarteWeb/llms.txt
Use this file to discover all available pages before exploring further.
/ListarColaboracionesAPagar and /PagarColaboracion servlets handle the payment phase of a collaboration. A logged-in Colaborador first views their pending (unpaid) collaborations through /ListarColaboracionesAPagar, then is directed to a payment form (pago.jsp) where they submit payment details. On submission, /PagarColaboracion calls portU.acreditarColaboracion(...) on the ControllerWS SOAP service to record the payment. Both servlets resolve their SOAP endpoint configuration from config.properties at runtime.
GET /ListarColaboracionesAPagar
Lists all pending (unpaid) collaborations belonging to the currently logged-in Colaborador, excluding any collaborations whose associated proposal has been cancelled. Forwards to a responsive JSP based on the detected device type.Query parameters
The username (nick) of the logged-in Colaborador. Used to fetch the full list of their collaborations via
portU.colaboraciones(nick).The user’s profile type. Stored as a request attribute and forwarded to the JSP for use in navigation components.
Behavior
- Reads the
User-Agentrequest header to detect whether the client is a mobile device (checks formobile,android,iphone, oripadsubstrings, case-insensitive). - Calls
portU.colaboraciones(nick)to retrieve all of the user’s collaborations asList<DtoColaboracion>. - Filters out any collaboration whose linked proposal has a state of
Estado.CANCELADAby callingportU.getPropuestaDTO(colaboracion.getPropuesta())for each entry. - From the remaining list, retains only entries where:
colaboracion.getColaborador().equals(nick)— the collaboration belongs to the requesting user, andcolaboracion.getDatosPago() == null— the collaboration has not yet been paid.
- Sets the following request attributes before forwarding:
| Attribute | Type | Value |
|---|---|---|
nick | String | The nick query parameter |
tipo | String | The tipo query parameter |
colaboracionesAPagar | List<DtoColaboracion> | Filtered list of pending-payment collaborations |
pagina | String | The literal string "PagarColaboracion" |
- Forwards to
/PagarColaboracion.jspon mobile devices, or/PagarColaboracionDesktop.jspon desktop.
Example request
What PagarColaboracion.jsp renders
The JSP iterates over colaboracionesAPagar and renders a card per collaboration showing the proposal title, amount, creation date, and return type. Each card with an active (non-cancelled) collaboration displays an “Acreditar Pago” button that links to:
GET /PagarColaboracion
Looks up a specific collaboration by proposal title for the session user and forwards to the payment form (pago.jsp). Requires an active session.
Session requirement
The servlet reads thelogueado attribute from the current HTTP session. If no session exists or the attribute is absent, the user is redirected to login.jsp.
Query parameters
The title of the proposal for which the payment form should be shown. Used to find the matching
DtoColaboracion from the user’s full collaboration list.Behavior
- Validates the session; redirects to
login.jspif no valid session is found. - Retrieves
nickUsrfromsession.getAttribute("logueado"). - Calls
portU.colaboraciones(nickUsr)to get all the user’s collaborations. - Searches the list for an entry whose
propuestafield equalstituloPropuesta. - If found: sets the
colaboracionrequest attribute (DtoColaboracion) and forwards topago.jsp. - If not found: redirects to
DetallesDePropuesta?tituloPropuesta=<URL-encoded title>.
Example request
POST /PagarColaboracion
Submits payment details for a specific collaboration. CallsportU.acreditarColaboracion(...) on the SOAP service and redirects to the proposal detail page with an outcome indicator. Requires an active session.
Session requirement
The servlet reads thelogueado attribute from the current HTTP session. If no session exists or the attribute is absent, the user is redirected to login.jsp.
Request parameters
The exact title of the proposal being paid. Used to locate the matching
DtoColaboracion in the user’s collaboration list.The amount being paid. Must be greater than or equal to
colaboracion.getMonto() (the amount declared when the collaboration was created); otherwise acreditarColaboracion is not called and the payment is considered unsuccessful.The selected payment method. Accepted values as rendered by
pago.jsp: tarjeta, transferencia, or paypal.Payment detail field 1. Meaning varies by
formaPago:tarjeta→ cardholder nametransferencia→ account holder namepaypal→ PayPal account holder name
Payment detail field 2. Meaning varies by
formaPago:tarjeta→ card numbertransferencia→ account numberpaypal→ PayPal account number
Payment detail field 3. Meaning varies by
formaPago:tarjeta→ card type (visa,oca, ormastercard)transferencia→ bank name
Payment detail field 4. Currently unused by
pago.jsp but accepted and forwarded to DtoPago.Payment detail field 5. Used for:
tarjeta → CVC code.Behavior
- Validates the session; redirects to
login.jspif no valid session is found. - Retrieves
nickUsrfromsession.getAttribute("logueado"). - Reads
tituloPropuesta,monto,formaPago, anddato1–dato5from the request. - Calls
portU.colaboraciones(nickUsr)and locates the matchingDtoColaboracionbypropuestatitle. - Constructs a
DtoPagoobject with all payment fields (monto,formaPago,fechaPagoset tonull, anddato1–dato5). - If the collaboration is found and the submitted
monto >= colaboracion.getMonto(), callsportU.acreditarColaboracion(colaboracion.getId(), datosPago). - On success (
pagoExitoso == true): redirects to: - On failure: redirects to the same URL with
accionLograda=ErrorandresultadoOperacion=0.
Example request
Redirect on success
Only the Colaborador who owns the collaboration can pay it. The servlet reads the
logueado session attribute to identify the acting user, then finds the matching collaboration by both ownership (via portU.colaboraciones(nickUsr)) and proposal title. It is not possible to pay a collaboration belonging to a different user, even if the tituloPropuesta parameter is known.