From 40c4a64c150b2356f7c0e5e3abbf576de6469ebf Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Mon, 1 Dec 2014 18:08:45 +0100 Subject: [PATCH] Bug 13371: Add filters on the supplier list view MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch adds the ability to filter the basket list depending on its creator name, basketgroup name, dates (creation, close), etc. It also adds a new link to filter on opened baskets only and the ability to switch to a simple view if the complete view is to complex Test plan: Go on the supplier list view (acqui/booksellers.pl) and confirm that the view is more ergonomic and the filters permit to the librarians to find a basket more easily than before. Signed-off-by: Paola Rossi Followed test plan, works as expected. Signed-off-by: Marc VĂ©ron --- acqui/booksellers.pl | 11 + koha-tmpl/intranet-tmpl/prog/css/datatables.css | 17 + .../prog/en/modules/acqui/booksellers.tt | 364 +++++++++++++-------- 3 files changed, 258 insertions(+), 134 deletions(-) diff --git a/acqui/booksellers.pl b/acqui/booksellers.pl index b56f73e..e981b63 100755 --- a/acqui/booksellers.pl +++ b/acqui/booksellers.pl @@ -156,11 +156,22 @@ for my $vendor (@suppliers) { }; } + +my $sessionID = $query->cookie('CGISESSID'); +my $session = C4::Auth::get_session($sessionID); +my $view = $query->param('view'); +if ( $view ) { + $session->param('bookseller_default_view', $view); +} else { + $view = $session->param('bookseller_default_view'); +} + $template->param( loop_suppliers => $loop_suppliers, supplier => ( $booksellerid || $supplier ), count => $supplier_count, has_budgets => $has_budgets, + view => $view, ); $template->{VARS}->{'allbaskets'} = $allbaskets; diff --git a/koha-tmpl/intranet-tmpl/prog/css/datatables.css b/koha-tmpl/intranet-tmpl/prog/css/datatables.css index c42e553..3f00a2f 100644 --- a/koha-tmpl/intranet-tmpl/prog/css/datatables.css +++ b/koha-tmpl/intranet-tmpl/prog/css/datatables.css @@ -251,6 +251,23 @@ table.group td.group { background-color: #D1CFD0; border-bottom: 2px solid #A19B9E; border-top: 2px solid #A19B9E; + font-weight: bold; +} + +table.group tr.odd td { + background-color : #F3F3F3; + border : 1px solid #BCBCBC; + border-right : 1px solid #BCBCBC; +} + +table.group tr.even td { + background-color: #FFF; + border-right : 1px solid #BCBCBC; +} + +table.group td.group .action { + float: right; + font-weight: normal; } table.group tr.odd td { 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 ff92a91..0614a4c 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/booksellers.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/booksellers.tt @@ -2,28 +2,79 @@ [% INCLUDE 'doc-head-open.inc' %] Koha › Search for vendor [% supplier %] [% INCLUDE 'doc-head-close.inc' %] - +[% INCLUDE 'calendar.inc' %] [% INCLUDE 'datatables.inc' %] + + @@ -59,135 +123,167 @@ $(document).ready(function() { [% ELSE %]

Vendor search: [% count %] results found for '[% supplier %]'

[% END %] -[% END %] -[% IF ( loop_suppliers.size ) %] - [% UNLESS (count == 1) %] -

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

+ [% IF ( supplier.loop_basket.size ) %] + Receive shipment + [% END %] + [% END %] - [% IF ( allbaskets ) %] -

Show active baskets only

+ [% IF view == "complete" %] +

Switch to the simple view

[% ELSE %] -

Show all baskets

+

Switch to the complete view

[% END %] -
- [% FOREACH supplier IN loop_suppliers %] -
- - [% IF (supplier.name) %] - [% supplier.name %] +[% END %] +[% IF ( loop_suppliers.size ) %] + [% IF view == "complete" %] + [% IF allbaskets %] + Show active baskets only + [% ELSE %] + Show active and inactive baskets + [% END %] + | Show opened baskets only +
+ + + + + + + + + + + + + + + + + + [% FOREACH supplier IN loop_suppliers %] + [% IF supplier.loop_basket.size == 0 %] + + + + + + [% END %] + [% FOREACH basket IN supplier.loop_basket %] + [% IF ( basket.uncertainprices ) %] + [% ELSE %] - NO NAME + [% END %] - - - [% IF ( CAN_user_acquisition_order_manage ) %] - [% IF ( supplier.active ) %] - New basket + + + + + + + + + + + + + [% END %][%# FOREACH basket IN supplier.loop_basket %] + [% END %] + +
booksellerNo.NameItem countBiblio countItems expectedCreated byDateBasket groupClosed 
+ [% supplier.name %] + ([% supplier.booksellerid %]) + [% PROCESS action supplier = supplier %] + + [% IF allbaskets %] + No basket. + [% ELSE %] + No active basket. + [% END %] +
+ [% supplier.name %] + ([% supplier.booksellerid %]) + [% PROCESS action supplier = supplier %] + [% basket.basketno %][% basket.basketname %] + [% basket.total_items %] + [% IF basket.total_items_cancelled %] + ([% basket.total_items_cancelled %] cancelled) + [% END %] + + [% basket.total_biblios %] + [% IF basket.total_biblios_cancelled %] + ([% basket.total_biblios_cancelled %] cancelled) + [% END %] + [% basket.expected_items %] + [% basket.authorisedby_firstname %] [% basket.authorisedby_surname %] + [% basket.creationdate | $KohaDates %] + [% IF basket.basketgroup %] + [% basketgroup = basket.basketgroup %] + [% IF basketgroup.closed %] + [% basketgroup.name %] (closed) + [% ELSE %] + [% basketgroup.name %] + [% END %] + [% END %] + + [% IF ( basket.closedate ) %] + [% basket.closedate | $KohaDates %] + [% ELSE %] + + [% END %] + + View + + [% IF not basket.closedate and supplier.active %] + Add to basket + + + [% END %] +
+
+ [% ELSE %] +
+ [% FOREACH supplier IN loop_suppliers %] +
+ + [% IF (supplier.name) %] + [% supplier.name %] [% ELSE %] - (inactive) + NO NAME + [% END %] + + + [% IF ( CAN_user_acquisition_order_manage ) %] + [% IF ( supplier.active ) %] + New basket + [% ELSE %] + (inactive) + [% END %] [% END %] - [% END %] [% IF ( supplier.loop_basket.size ) %] - Receive shipment + Receive shipment [% END %] - -
- [% IF ( supplier.loop_basket.size ) %] - - - - - - - - - - - - - - - - - [% FOREACH basket IN supplier.loop_basket %] - [% IF ( basket.uncertainprices ) %] - - [% ELSE %] - - [% END %] - - - - - - - - - - - - [% END %][%# FOREACH basket IN supplier.loop_basket %] - -
No.NameItem countBiblio countItems expectedCreated byDateBasket groupClosedActions
[% basket.basketno %][% basket.basketname %] - [% basket.total_items %] - [% IF basket.total_items_cancelled %] - ([% basket.total_items_cancelled %] cancelled) - [% END %] - - - [% basket.total_biblios %] - [% IF basket.total_biblios_cancelled %] - ([% basket.total_biblios_cancelled %] cancelled) - [% END %] - - [% basket.expected_items %] - [% basket.authorisedby_firstname %] - [% basket.authorisedby_surname %] - [% basket.creationdate | $KohaDates %] - [% IF basket.basketgroup %] - [% basketgroup = basket.basketgroup %] - [% IF basketgroup.closed %] - [% basketgroup.name %] (closed) - [% ELSE %] - [% basketgroup.name %] - [% END %] - [% END %] - - [% IF ( basket.closedate ) %] - [% basket.closedate | $KohaDates %] - [% ELSE %] - - [% END %] - - View - - [% IF not basket.closedate and supplier.active %] - Add to basket - - - [% END %] -
- - [% ELSE %] -

No pending baskets

- [% END %][%# IF ( supplier.loop_basket.size ) %] +
-
- [% END %][%# FOREACH supplier IN loop_suppliers %] -
+ [% END %] +
+ [% END %] +[% ELSE %] +

No pending baskets

[% END %][%# IF ( loop_suppliers.size ) %]
-- 2.1.4