From 79c63da7215396514eec7b09f20b804d1e4f65b4 Mon Sep 17 00:00:00 2001 From: Katrin Fischer Date: Tue, 22 Sep 2020 00:32:51 +0200 Subject: [PATCH] Bug 26503: Add limit for standing orders to acq advanced search This allows to filter on standing orders on the acq advanced search checkbox. For this purpose a new checkbox is shown behind the order status search option. As both not yet ordered and standing orders have the status 'new' or partially received internally, this seems like a good placement as it will help distinguish these cases clearly. new + standing order = standing order, but nothing received yet partially received + standing order = active standing order all status + standing order = all standing orders To test: - Create some baskets with at least one order, some 'standing' and others not - In the top toolbar choose tab Orders search > Advanced search - Make some searches with and without the new 'Standing order' option - Verify the right orders are found - In the search results standing orders will now show with the status + (standing order). --- C4/Acquisition.pm | 9 ++ acqui/histsearch.pl | 1 + .../prog/en/includes/filter-orders.inc | 6 + .../prog/en/modules/acqui/histsearch.tt | 1 + .../bootstrap/en/xslt/MARC21slimUtils.xsl | 175 +++++++++++++++++++++ 5 files changed, 192 insertions(+) diff --git a/C4/Acquisition.pm b/C4/Acquisition.pm index 3aff14d667..6fabf465c7 100644 --- a/C4/Acquisition.pm +++ b/C4/Acquisition.pm @@ -2093,6 +2093,7 @@ params: budget orderstatus (note that orderstatus '' will retrieve orders of any status except cancelled) + is_standing managing_library biblionumber get_canceled_order (if set to a true value, cancelled orders will @@ -2116,6 +2117,7 @@ returns: 'quantityreceived' => undef, 'title' => 'The Adventures of Huckleberry Finn', 'managing_library' => 'CPL' + 'is_standing' => '1' } =cut @@ -2136,6 +2138,7 @@ sub GetHistory { my $basketgroupname = $params{basketgroupname}; my $budget = $params{budget}; my $orderstatus = $params{orderstatus}; + my $is_standing = $params{is_standing}; my $biblionumber = $params{biblionumber}; my $get_canceled_order = $params{get_canceled_order} || 0; my $ordernumber = $params{ordernumber}; @@ -2176,6 +2179,7 @@ sub GetHistory { aqbasket.basketname, aqbasket.basketgroupid, aqbasket.authorisedby, + aqbasket.is_standing, concat( borrowers.firstname,' ',borrowers.surname) AS authorisedbyname, branch as managing_library, aqbasketgroups.name as groupname, @@ -2269,6 +2273,11 @@ sub GetHistory { push @query_params, "$orderstatus"; } + if ( $is_standing ) { + $query .= " AND is_standing = ? "; + push @query_params, $is_standing; + } + if ($basket) { if ($basket =~ m/^\d+$/) { $query .= " AND aqorders.basketno = ? "; diff --git a/acqui/histsearch.pl b/acqui/histsearch.pl index 64802dddaa..aa0187ab9c 100755 --- a/acqui/histsearch.pl +++ b/acqui/histsearch.pl @@ -85,6 +85,7 @@ my $filters = { booksellerinvoicenumber => scalar $input->param('booksellerinvoicenumber'), budget => scalar $input->param('budget'), orderstatus => scalar $input->param('orderstatus'), + is_standing => scalar $input->param('is_standing'), ordernumber => scalar $input->param('ordernumber'), search_children_too => scalar $input->param('search_children_too'), created_by => [ $input->multi_param('created_by') ], diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/filter-orders.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/filter-orders.inc index 7011692637..8e343b0117 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/filter-orders.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/filter-orders.inc @@ -75,6 +75,12 @@ [% END %] + [% IF filters.is_standing %] + + [% ELSE %] + + [% END %] +
  • diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/histsearch.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/histsearch.tt index e4f0f2fe45..67daf85bdd 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/histsearch.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/histsearch.tt @@ -67,6 +67,7 @@ [% CASE 'complete' %]Received [% CASE 'cancelled' %]Cancelled [% END %] + [% IF order.is_standing %](standing order)[% END %] [% order.basketname | html %] ([% order.basketno | html %]) [% order.authorisedbyname | html %] diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slimUtils.xsl b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slimUtils.xsl index bc8b4f75f9..a7410d5eb3 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slimUtils.xsl +++ b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slimUtils.xsl @@ -361,6 +361,181 @@ + + + + + + + Series: + + + ?q=se,phr:"" + + + + av + + + + + + + ; + + + + + | + + + | + + + + + + ?q=se,phr:"" + + + + a + + + + + + + ; + + + + + | + + + | + + + + + + + + ?q=rcn: + + + + a_t + + + + + + + ?q=an: + + + + a_t + + + + + + + ?q=se,phr:""&q=au:"" + + + + a_t + + + + + + + + : + + | + + + + + + + + + + a_t + + + + + + + ?q=an: + + + + a_t + + + + + + + ?q=se,phr:"" + + + + a_t + + + + + + + + + ; + + | + + + + + + + + + + + n + n + fghkdlmor + + + + + p + p + fghkdlmor + + + + + + + + + + + + + +