From 1934ca1100517ca1622c9c2c0587832504064b25 Mon Sep 17 00:00:00 2001 From: Josef Moravec Date: Tue, 26 Feb 2019 15:05:50 +0000 Subject: [PATCH] Bug 22222: Don't send empty params to mana service Test plan: 0) Do not apply the patch 1) Go to serials > Search on Mana 2) Insert some value into the form 3) Submit -> you get many (3000+) results 4) Apply the patch and restart_all 5) Repeat, now, you get only the subscription matching your query Signed-off-by: Michal Denar Signed-off-by: Alex Arnaud Signed-off-by: Nick Clemens --- Koha/SharedContent.pm | 4 ++-- t/db_dependent/Koha/SharedContent.t | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Koha/SharedContent.pm b/Koha/SharedContent.pm index 587285d254..7145e950c3 100644 --- a/Koha/SharedContent.pm +++ b/Koha/SharedContent.pm @@ -154,7 +154,7 @@ sub build_request { if ( $type eq 'get' ) { my $params = shift; $params = join '&', - map { defined $params->{$_} ? $_ . "=" . $params->{$_} : () } + map { defined $params->{$_} && $params->{$_} ne '' ? $_ . "=" . $params->{$_} : () } keys %$params; my $url = "$mana_url/$resource.json?$params"; return HTTP::Request->new( GET => $url ); @@ -164,7 +164,7 @@ sub build_request { my $id = shift; my $params = shift; $params = join '&', - map { defined $params->{$_} ? $_ . "=" . $params->{$_} : () } + map { defined $params->{$_} && $params->{$_} ne '' ? $_ . "=" . $params->{$_} : () } keys %$params; my $url = "$mana_url/$resource/$id.json?$params"; diff --git a/t/db_dependent/Koha/SharedContent.t b/t/db_dependent/Koha/SharedContent.t index 2be0e1d632..67be87ec55 100644 --- a/t/db_dependent/Koha/SharedContent.t +++ b/t/db_dependent/Koha/SharedContent.t @@ -82,7 +82,7 @@ is($request->method, 'GET', 'Get subscription - Method is get'); my %query = $request->uri->query_form; is($query{title}, 'The English historical review', 'Check title'); is($query{issn}, '0013-8266', 'Check issn'); -is($query{ean}, '', 'Check ean'); +is($query{ean}, undef, 'Check ean'); is($query{publishercode}, 'Longman', 'Check publisher'); is($request->uri->path, '/subscription.json', 'Path is subscription'); -- 2.39.5