Bug 28744: Better handling of undefined to_api_mapping

We always had some mapping because of the DB vs. API object definition discrepancies. But bug 25260 revamps the reserves table, and it is a perfect match. It highlights this edge case: if no mapping defined, then and undef from_api_mapping is generated (as opposed to an empty hashref) and this leads to errors in the query translation from the API.

This patch makes a small change so this method always returns an empty
hashref.

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

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

JD amended patch: remove uneeded commented lines

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
Tomas Cohen Arazi 2021-07-23 00:39:16 -03:00 committed by Jonathan Druart
parent bcc586ef93
commit d41b197ff6
1 changed files with 2 additions and 1 deletions

View File

@ -638,7 +638,8 @@ sub from_api_mapping {
my $to_api_mapping = $self->to_api_mapping;
unless ( $self->{_from_api_mapping} ) {
unless ( defined $self->{_from_api_mapping} ) {
$self->{_from_api_mapping} = {};
while (my ($key, $value) = each %{ $to_api_mapping } ) {
$self->{_from_api_mapping}->{$value} = $key
if defined $value;