Bug 23970: Make search with "Publication date" field work at any position
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Mon, 25 Nov 2019 12:35:25 +0000 (13:35 +0100)
committerMartin Renvoize <martin.renvoize@ptfs-europe.com>
Tue, 10 Dec 2019 16:13:39 +0000 (16:13 +0000)
The changes made in the following commit:
  commit 0d2e83bca5b91376e9262b6cb0b993f09b919018
  Bug 14636: Item search - fix search and sort by publication date for MARC21
was put at the wrong place. It was inside a "if $i == 1" test that
impacts the first field only.

Test plan:
0/ Use a MARC21 installation
1/ Search items by publication date, use twice the field using different
values.
For instance:
  publication date: 2005 OR
  publication date: 2006
=> Without this patch you only get results for 2005
=> With this patch applied you get results for both years.

Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

catalogue/itemsearch.pl

index 090192e..4cb76d8 100755 (executable)
@@ -143,10 +143,11 @@ if (scalar keys %params > 0) {
         my $q = shift @q;
         my $op = shift @op;
         if (defined $q and $q ne '') {
+            if (C4::Context->preference("marcflavour") ne "UNIMARC" && $field eq 'publicationyear') {
+                $field = 'copyrightdate';
+            }
+
             if ($i == 0) {
-                if (C4::Context->preference("marcflavour") ne "UNIMARC" && $field eq 'publicationyear') {
-                    $field = 'copyrightdate';
-                }
                 $f = {
                     field => $field,
                     query => $q,