From 1c95667cba7734156b644afb9c3270afe32a7467 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Mon, 4 Jan 2021 11:29:38 -0300 Subject: [PATCH] Bug 27330: (follow-up) Cleanup missed on bug 23843 This patch makes some cleanup missed on bug 23843. The catch condition on the controller was copied and pasted from other controller and should be avoided unless there's a known case that needs special handling. Otherwise it will be catched by the $c->unhandled_exception call. All the old mappings were inadvertedly kept in the controller as well as the (unused) _to_api method. The base class is also cleaned from unnecessary mappings. Only mapped things need to be added. To test: 1. Apply this patch 2. Run: $ kshell k$ prove t/db_dependent/api/v1/clubs_holds.t \ t/db_dependent/Koha/Club/Hold.t => SUCCESS: Tests pass! 3. Sign off :-D --- Koha/Club/Hold.pm | 5 +-- Koha/REST/V1/Clubs/Holds.pm | 65 +++++++------------------------------ 2 files changed, 13 insertions(+), 57 deletions(-) diff --git a/Koha/Club/Hold.pm b/Koha/Club/Hold.pm index aaf61ac901f..378cd027f71 100644 --- a/Koha/Club/Hold.pm +++ b/Koha/Club/Hold.pm @@ -161,10 +161,7 @@ on the API. sub to_api_mapping { return { - id => 'club_hold_id', - club_id => 'club_id', - biblio_id => 'biblio_id', - item_id => 'item_id' + id => 'club_hold_id' }; } diff --git a/Koha/REST/V1/Clubs/Holds.pm b/Koha/REST/V1/Clubs/Holds.pm index 9a4aaa052a9..67b7fdbbdc3 100644 --- a/Koha/REST/V1/Clubs/Holds.pm +++ b/Koha/REST/V1/Clubs/Holds.pm @@ -110,16 +110,18 @@ sub add { $expiration_date = output_pref( dt_from_string( $expiration_date, 'rfc3339' ) ); } - my $club_hold = Koha::Club::Hold::add({ - club_id => $club_id, - biblio_id => $biblio->biblionumber, - item_id => $item_id, - pickup_library_id => $pickup_library_id, - expiration_date => $expiration_date, - notes => $notes, - item_type => $item_type, - default_patron_home => $default_patron_home - }); + my $club_hold = Koha::Club::Hold::add( + { + club_id => $club_id, + biblio_id => $biblio->biblionumber, + item_id => $item_id, + pickup_library_id => $pickup_library_id, + expiration_date => $expiration_date, + notes => $notes, + item_type => $item_type, + default_patron_home => $default_patron_home + } + ); return $c->render( status => 201, @@ -140,47 +142,4 @@ sub add { }; } -=head3 _to_api - -Helper function that maps unblessed Koha::Club::Hold objects into REST api -attribute names. - -=cut - -sub _to_api { - my $club_hold = shift; - - # Rename attributes - foreach my $column ( keys %{ $Koha::REST::V1::Clubs::Holds::to_api_mapping } ) { - my $mapped_column = $Koha::REST::V1::Clubs::Holds::to_api_mapping->{$column}; - if ( exists $club_hold->{ $column } - && defined $mapped_column ) - { - # key != undef - $club_hold->{ $mapped_column } = delete $club_hold->{ $column }; - } - elsif ( exists $club_hold->{ $column } - && !defined $mapped_column ) - { - # key == undef - delete $club_hold->{ $column }; - } - } - - # Calculate the 'restricted' field - return $club_hold; -} - -=head3 $to_api_mapping - -=cut - -our $to_api_mapping = { - id => 'club_hold_id', - club_id => 'club_id', - biblio_id => 'biblio_id', - item_id => 'item_id' -}; - - 1; -- 2.30.0