From a64df5683b76f20dcd96f6ef1b68ee02fb90d34b 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 aaf61ac901..378cd027f7 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 1e4b94e706..90eb4064ea 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 + } + ); $c->res->headers->location( $c->req->url->to_string . '/' ); @@ -142,47 +144,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