Browse Source

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 <black23@gmail.com>
Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Josef Moravec 5 years ago
committed by root
parent
commit
1934ca1100
  1. 4
      Koha/SharedContent.pm
  2. 2
      t/db_dependent/Koha/SharedContent.t

4
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";

2
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');

Loading…
Cancel
Save