Browse Source

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>
21.05.x
Tomás Cohen Arazi 2 years ago
committed by Jonathan Druart
parent
commit
f259355895
  1. 5
      Koha/Club/Hold.pm
  2. 65
      Koha/REST/V1/Clubs/Holds.pm

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

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

Loading…
Cancel
Save