From dab97a182427016a9267ed692c05c565635b23d9 Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Fri, 17 May 2013 19:01:06 +0200 Subject: [PATCH] [SIGNED OFF] Bug 9824: Followup for removing filter Adds allbaskets parameter to GetBasketsInfosByBookseller. (Only used in booksellers.pl now) Normally, all 'active' baskets are shown. With allbaskets=1 all baskets :) In the template I had to rename a loop var supplier to supplier1 to resolve name conflict between template vars. In the template I added the string: Cancel filter. Note that this string is already translated: msgid "Cancel filter" msgstr "" Hope this helps. Signed-off-by: Katrin Fischer Undoing the filter works and I checked that the string gets translated with the po files in current master. So this is almost perfect, only we can't apply the filters again and the link remains 'cancel' when we already did. Sending a follow-up trying to fix this. --- C4/Acquisition.pm | 12 +++++++----- acqui/booksellers.pl | 3 ++- .../prog/en/modules/acqui/booksellers.tt | 5 +++-- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/C4/Acquisition.pm b/C4/Acquisition.pm index 2bbb21c..a570a73 100644 --- a/C4/Acquisition.pm +++ b/C4/Acquisition.pm @@ -578,7 +578,7 @@ Returns in a arrayref of hashref all about booksellers baskets, plus: =cut sub GetBasketsInfosByBookseller { - my ($supplierid) = @_; + my ($supplierid, $allbaskets) = @_; return unless $supplierid; @@ -595,10 +595,12 @@ sub GetBasketsInfosByBookseller { ) AS expected_items FROM aqbasket LEFT JOIN aqorders ON aqorders.basketno = aqbasket.basketno - WHERE booksellerid = ? AND ( aqorders.quantity > aqorders.quantityreceived OR quantityreceived IS NULL) - AND datecancellationprinted IS NULL - GROUP BY aqbasket.basketno - }; + WHERE booksellerid = ?}; + if(!$allbaskets) { + $query.=" AND (closedate IS NULL OR (aqorders.quantity > aqorders.quantityreceived AND datecancellationprinted IS NULL))"; + } + $query.=" GROUP BY aqbasket.basketno"; + my $sth = $dbh->prepare($query); $sth->execute($supplierid); return $sth->fetchall_arrayref({}); diff --git a/acqui/booksellers.pl b/acqui/booksellers.pl index f6c7b2e..118034b 100755 --- a/acqui/booksellers.pl +++ b/acqui/booksellers.pl @@ -75,6 +75,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( #parameters my $supplier = $query->param('supplier'); my $booksellerid = $query->param('booksellerid'); +my $allbaskets= $query->param('allbaskets')||0; my @suppliers; if ($booksellerid) { @@ -106,7 +107,7 @@ my $userbranch = $userenv->{branch}; my $loop_suppliers = []; for my $vendor (@suppliers) { - my $baskets = GetBasketsInfosByBookseller( $vendor->{id} ); + my $baskets = GetBasketsInfosByBookseller( $vendor->{id}, $allbaskets ); my $loop_basket = []; diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/booksellers.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/booksellers.tt index 9aaf34e..4064231 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/booksellers.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/booksellers.tt @@ -56,12 +56,13 @@ $(document).ready(function() { [% UNLESS (count == 1) %]

Choose a vendor in the list to jump directly to the right place.

[% END %] +

Cancel filter

[% FOREACH supplier IN loop_suppliers %]
-- 1.7.9.5