From e50eed0bbdef03ec899437a284e63a812d0829e6 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 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 --- 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