Browse Source

Bug 27330: Return 403 if club has no enrollments

This patch makes the controller script return a 403 as it should [1]
instead of a plain 500.

To test:
1. Apply the regressions tests patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/clubs_holds.t
=> FAIL: Tests fail!
3. Apply this patch
4. Repeat 2
=> SUCCESS: Tests pass!
5. Sign off :-D

[1] https://www.restapitutorial.com/httpstatuscodes.html

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
21.05.x
Tomás Cohen Arazi 2 years ago
committed by Jonathan Druart
parent
commit
ea0696831f
  1. 14
      Koha/REST/V1/Clubs/Holds.pm

14
Koha/REST/V1/Clubs/Holds.pm

@ -128,19 +128,9 @@ sub add {
}
catch {
if ( blessed $_ ) {
if ( $_->isa('Koha::Exceptions::Object::FKConstraint') ) {
my $broken_fk = $_->broken_fk;
if ( grep { $_ eq $broken_fk } keys %{$Koha::REST::V1::Clubs::Holds::to_api_mapping} ) {
$c->render(
status => 404,
openapi => $Koha::REST::V1::Clubs::Holds::to_api_mapping->{$broken_fk} . ' not found.'
);
}
}
elsif ($_->isa('Koha::Exceptions::ClubHold')) {
if ($_->isa('Koha::Exceptions::ClubHold::NoPatrons')) {
return $c->render(
status => 500,
status => 403,
openapi => { error => $_->description }
);
}

Loading…
Cancel
Save