9d8254efd3
This enhancement adds a REST API endpoint to list a patron's recalls: /api/v1/patrons/{patron_id}/recalls This depends on the logged in patron having the manage_recalls subpermission. To test: 1. Log in to the staff interface as your superlibrarian self (Patron A) 2. Go to Koha Administration -> Global system preferences. Enable the UseRecalls system preference 3. Set the relevant recalls circulation and fines rules 4. Search for an item (Item A) 5. Check out Item A to yourself (Patron A) 6. Log in to the OPAC as Patron B, a patron who does not have the manage_recalls permission 7. Search for Item A and request a recall 8. While still logged in to the OPAC as Patron B, hit this URL: https://your-opac-url/api/v1/patrons/patron-b-borrowernumber/recalls (swap out your URL and Patron B's borrowernumber) 9. Confirm you are given an error: "Authorization failure. Missing required permission(s)." 10. Log out of the OPAC and log back in, this time as Patron A 11. Hit the URL again https://your-opac-url/api/v1/patrons/patron-b-borrowernumber/recalls 12. Confirm you are able to view a list of Patron B's recalls 13. Confirm tests pass: t/db_dependent/api/v1/patrons_recalls.t Sponsored-by: Auckland University of Technology PA amended: QA follow-up: tidy Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
52 lines
1.6 KiB
YAML
52 lines
1.6 KiB
YAML
---
|
|
"/patrons/{patron_id}/recalls":
|
|
get:
|
|
x-mojo-to: Patrons::Recalls#list
|
|
operationId: getPatronRecalls
|
|
tags:
|
|
- recalls
|
|
summary: List recalls for a patron
|
|
parameters:
|
|
- $ref: "../swagger.yaml#/parameters/patron_id_pp"
|
|
- $ref: "../swagger.yaml#/parameters/match"
|
|
- $ref: "../swagger.yaml#/parameters/order_by"
|
|
- $ref: "../swagger.yaml#/parameters/page"
|
|
- $ref: "../swagger.yaml#/parameters/per_page"
|
|
- $ref: "../swagger.yaml#/parameters/q_param"
|
|
- $ref: "../swagger.yaml#/parameters/q_body"
|
|
- $ref: "../swagger.yaml#/parameters/request_id_header"
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: The patron's recalls
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "../swagger.yaml#/definitions/recall"
|
|
"401":
|
|
description: Authentication required
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
"403":
|
|
description: Access forbidden
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
"404":
|
|
description: Patron not found
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
"500":
|
|
description: |
|
|
Internal server error. Possible `error_code` attribute values:
|
|
|
|
* `internal_server_error`
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
"503":
|
|
description: Under maintenance
|
|
schema:
|
|
$ref: "../swagger.yaml#/definitions/error"
|
|
x-koha-authorization:
|
|
permissions:
|
|
recalls: manage_recalls
|