Bug 34365: Add cancellation request flow to DELETE /holds

This patch adds a new `x-koha-override` header to allow enforcing the
cancellation request flow for waiting holds.

If the hold is not waiting, the header has no effect.

To test:
1. Apply the tests patch
2. Run:
   $ ktd --shell
  k$ prove t/db_dependent/api/v1/holds.t
=> FAIL: The endpoint doesn't implement the required logic
3. Apply this patch
4. Repeat 2
=> SUCCESS: Tests pass! The endpoint behavior is changed!
5. Sign off :-D

Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit eb224540e2)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
Tomas Cohen Arazi 2023-07-24 16:08:50 -03:00 committed by Fridolin Somers
parent ffe0f84568
commit e4e145eb4a
1 changed files with 13 additions and 0 deletions

View File

@ -317,6 +317,19 @@ sub delete {
}
return try {
my $overrides = $c->stash('koha.overrides');
if ( $overrides->{'cancellation-request-flow'} && $hold->is_waiting ) {
$hold->add_cancellation_request;
return $c->render(
status => 202,
openapi => q{},
);
}
$hold->cancel;
return $c->render(