From 3458755fd9d15a73e739422a6038517f9b9332a8 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Thu, 25 Apr 2013 16:57:07 +0200 Subject: [PATCH] Bug 10725: Add filters on the pending orders table Since the parcel.pl script get *all* pending orders, there is no reason not to display all of them. Like that, DataTable manages pagination and sorting correctly (on all data). This patch adds filters on the table header (using columnFilter). Test plan: Try filters on the left of the screen and filters on the table header. Signed-off-by: Pierre Angot --- acqui/parcel.pl | 2 +- .../intranet-tmpl/prog/en/modules/acqui/parcel.tt | 59 +++++++++++++++----- 2 files changed, 46 insertions(+), 15 deletions(-) diff --git a/acqui/parcel.pl b/acqui/parcel.pl index 028e957..4a43c38 100755 --- a/acqui/parcel.pl +++ b/acqui/parcel.pl @@ -201,7 +201,7 @@ for my $item ( @parcelitems ) { push @book_foot_loop, map { $_ } values %foot; my @loop_orders = (); -if(!defined $invoice->{closedate}) { +unless( defined $invoice->{closedate} ) { my $pendingorders; if($input->param('op') eq "search"){ my $search = $input->param('summaryfilter') || ''; diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcel.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcel.tt index 562c2e0..792eae9 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcel.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcel.tt @@ -4,6 +4,7 @@ [% INCLUDE 'doc-head-close.inc' %] + [% INCLUDE 'datatables-strings.inc' %] [% INCLUDE 'greybox.inc' %] @@ -17,7 +18,7 @@ var pendingt = $("#pendingt").dataTable($.extend(true, {}, dataTablesDefaults, { "bStateSave": true, "iCookieDuration": 60*60*24*1000, // 1000 days - "aLengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]], + "aLengthMenu": [[10, 20, 50, 100, -1], [10, 20, 50, 100, "All"]], "aoColumnDefs": [ { "aTargets": [ 3, 8, 9 ], "bSortable": false, "bSearchable": false }, ], @@ -33,14 +34,31 @@ null, null, ], + 'bAutoWidth': false, "sPaginationType": "four_button" - } ) ); + } ) + ).columnFilter({ + sPlaceHolder: "head:after", + aoColumns: [ + { type: "text" }, + { type: "text" }, + { type: "text" }, + null, + { type: "text" }, + { type: "text" }, + { type: "text" }, + { type: "text" }, + null, + null + ] + }); } + if ( $("#receivedt").length ) { var receivedt = $("#receivedt").dataTable($.extend(true, {}, dataTablesDefaults, { "bStateSave": true, "iCookieDuration": 60*60*24*1000, // 1000 days - "aLengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]], + "aLengthMenu": [[10, 20, 50, 100, -1], [10, 20, 50, 100, "All"]], "aoColumnDefs": [ { "aTargets": [ 3, -1 ], "bSortable": false, "bSearchable": false }, ], @@ -170,12 +188,25 @@

Invoice number: [% invoice %] Received by: [% loggedinusername %] On: [% formatteddatereceived %]

[% UNLESS (invoiceclosedate) %] - [% ELSE %]

Invoice is closed, so you can't receive orders anymore. -- 1.7.10.4