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

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>
(cherry picked from commit f259355895)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
Tomas Cohen Arazi 2021-01-04 11:29:38 -03:00 committed by Fridolin Somers
parent 4f3d15c8d2
commit cb09491e67
2 changed files with 13 additions and 57 deletions

View File

@ -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'
};
}

View File

@ -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;