Koha/api/v1/swagger/paths/illrequests.json
Andrew Isherwood 0c7d9e4cc8 Bug 20563: Allow display of requested partners
This patch adds the display of requested partner email addresses when an
ILL backend provides the ability to send requests to partners. Partner
email addresses are displayed in the illlist and illview displays, they
are also included in the 'illrequests' API response.

* api/v1/swagger/paths/illrequests.json:
  - Add 'requested_partners' as an 'embed' enum
* Koha/Illrequest.pm:
  - Add 'requested_partners' accessor calling optional backend 'get_requested_partners' method.
  - Store requested partners upon email send, calling optional backend 'set_requested_partners' method.
  - Add 'requested_parners' embed to overloaded TO_JSON method.
* koha-tmpl/intranet-tmpl/prog/en/modules/ill/ill-requests.tt:
  - Add 'requested_partners' embed to illrequests API call
  - Add render function for "Additional status" datatables column
  - Add display of requested partner email addresses to illlist table
  - Add display of requested partner email addresses to illview display

To test:
1) Enable Interlibrary loans
2) Add a backend that supports sending requests to partners, e.g.
FreeForm
3) Set up at least one partner
4) Create an ILL request
5) Send request to partner(s)
6) Observe partner(s) email address(es) are displayed in "View ILL
requests" view
7) Observe partner(s) email address(es) are displayed in "Manage ILL
request" view

Signed-off-by: mmg@interleaf.ie

https://bugs.koha-community.org/show_bug.cgi?id=20653

Bug 20563: (follow-up) Fix requested partners

As per:
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=20563#c10

Thanks for the suggestion on merging the "Status" and "Additional status" columns, looks much better!

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-03-15 19:33:37 +00:00

160 lines
5.4 KiB
JSON

{
"/illrequests": {
"get": {
"x-mojo-to": "Illrequests#list",
"operationId": "listIllrequests",
"tags": ["illrequests"],
"parameters": [{
"name": "embed",
"in": "query",
"description": "Additional objects that should be embedded in the response",
"required": false,
"type": "array",
"collectionFormat": "csv",
"items": {
"type": "string",
"enum": [
"patron",
"library",
"capabilities",
"metadata",
"requested_partners"
]
}
}, {
"name": "backend",
"in": "query",
"description": "The name of a ILL backend",
"required": false,
"type": "string"
}, {
"name": "orderid",
"in": "query",
"description": "The order ID of a request",
"required": false,
"type": "string"
}, {
"name": "biblionumber",
"in": "query",
"description": "Internal biblio identifier",
"required": false,
"type": "integer"
}, {
"name": "borrowernumber",
"in": "query",
"description": "Internal patron identifier",
"required": false,
"type": "integer"
}, {
"name": "completed",
"in": "query",
"description": "The date the request was considered completed",
"required": false,
"type": "string"
}, {
"name": "completed_formatted",
"in": "query",
"description": "The date the request was considered complete formatted",
"required": false,
"type": "string"
}, {
"name": "status",
"in": "query",
"description": "A full status string e.g. REQREV",
"required": false,
"type": "string"
}, {
"name": "cost",
"in": "query",
"description": "The quoted cost of the request",
"required": false,
"type": "number"
}, {
"name": "price_paid",
"in": "query",
"description": "The final cost of the request",
"required": false,
"type": "number"
}, {
"name": "medium",
"in": "query",
"description": "The medium of the requested item",
"required": false,
"type": "string"
}, {
"name": "updated",
"in": "query",
"description": "The last updated date of the request",
"required": false,
"type": "string"
}, {
"name": "updated_formatted",
"in": "query",
"description": "The last updated date of the request formatted",
"required": false,
"type": "string"
}, {
"name": "placed",
"in": "query",
"description": "The date the request was placed",
"required": false,
"type": "string"
}, {
"name": "placed_formatted",
"in": "query",
"description": "The date the request was placed formatted",
"required": false,
"type": "string"
}, {
"name": "branchcode",
"in": "query",
"description": "Library ID",
"required": false,
"type": "string"
}],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "A list of ILL requests"
},
"401": {
"description": "Authentication required",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"403": {
"description": "Access forbidden",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"404": {
"description": "ILL requests not found",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "../definitions.json#/error"
}
},
"503": {
"description": "Under maintenance",
"schema": {
"$ref": "../definitions.json#/error"
}
}
},
"x-koha-authorization": {
"permissions": {
"ill": "1"
}
}
}
}
}