Skip to content
Snippets Groups Projects
Commit 1458faf2 authored by Ian Hardy's avatar Ian Hardy Committed by Robert Lange
Browse files

FOLIO-verify requester id is same as logged in user (#1630)

parent 6a4afab5
No related merge requests found
...@@ -939,6 +939,7 @@ class Folio extends AbstractAPI implements ...@@ -939,6 +939,7 @@ class Folio extends AbstractAPI implements
public function cancelHolds($cancelDetails) public function cancelHolds($cancelDetails)
{ {
$details = $cancelDetails['details']; $details = $cancelDetails['details'];
$patron = $cancelDetails['patron'];
$count = 0; $count = 0;
$cancelResult = ['items' => []]; $cancelResult = ['items' => []];
...@@ -948,16 +949,18 @@ class Folio extends AbstractAPI implements ...@@ -948,16 +949,18 @@ class Folio extends AbstractAPI implements
); );
$request_json = json_decode($response->getBody()); $request_json = json_decode($response->getBody());
// confirm request belongs to signed in patron
if ($request_json->requesterId != $patron['id']) {
throw new ILSException("Invalid Request");
}
// Change status to Closed and add cancellationID // Change status to Closed and add cancellationID
$request_json->status = 'Closed - Cancelled'; $request_json->status = 'Closed - Cancelled';
$request_json->cancellationReasonId $request_json->cancellationReasonId
= $this->config['Holds']['cancellation_reason']; = $this->config['Holds']['cancellation_reason'];
$cancel_response = $this->makeRequest( $cancel_response = $this->makeRequest(
'PUT', '/circulation/requests/' . $requestId, 'PUT', '/circulation/requests/' . $requestId,
json_encode($request_json) json_encode($request_json)
); );
if ($cancel_response->getStatusCode() == 204) { if ($cancel_response->getStatusCode() == 204) {
$count++; $count++;
$cancelResult['items'][$request_json->itemId] = [ $cancelResult['items'][$request_json->itemId] = [
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment