From a392938223f7f9c80431af332e6bf41dc1c82c30 Mon Sep 17 00:00:00 2001 From: Jonathan Druart <jonathan.druart@biblibre.com> Date: Mon, 3 Sep 2012 11:44:21 +0200 Subject: [PATCH] Bug 8715: Receive all serials for a year. This patch adds - 2 links in the table header (select all and clear all). - Datatable on these tables Test plan: Try to select all serials for a year and receive them. Test there is no regression (ergonomic) on this page --- .../prog/en/modules/serials/serials-collection.tt | 57 ++++++++++++++++---- serials/serials-collection.pl | 3 +- 2 files changed, 50 insertions(+), 10 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-collection.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-collection.tt index 23b496b..fc658c3 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-collection.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-collection.tt @@ -1,6 +1,10 @@ [% INCLUDE 'doc-head-open.inc' %] <title>Koha › Serials › Serial collection information for [% bibliotitle %]</title> +<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" /> [% INCLUDE 'doc-head-close.inc' %] +<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.min.js"></script> +<script type="text/javascript" src="[% themelang %]/js/datatables.js"></script> +<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script> <script type="text/javascript"> //<![CDATA[ @@ -40,10 +44,30 @@ function generateNext(subscriptionid) { } } +function CheckAll( node ) { + $("#"+node).checkCheckboxes(); + return false; +} +function CheckNone( node ) { + $("#"+node).unCheckCheckboxes(); + return false; +} $(document).ready(function() { $('#subscription_years').tabs(); + [% IF dateformatmetric %] + dt_add_type_uk_date(); + [% END %] + + $(".subscription-year-table").dataTable($.extend(true, {}, dataTablesDefaults, { + "aoColumnDefs": [ + { "aTargets": [ -1 ], "bSortable": false, "bSearchable": false }, + ], + "bAutoWidth": false, + "bPaginate": false, + "bInfo": false, + "bFilter": false, + } )); }); - //]]> </script> @@ -193,8 +217,9 @@ $(document).ready(function() { </p> [% END %] - <table> - <tr> + <table class="subscription-year-table"> + <thead> + <tr> [% IF ( subscriptions.size > 1 ) %] <th># Subs</th> [% END %] @@ -211,8 +236,21 @@ $(document).ready(function() { <th>Library </th> [% IF ( routing ) %]<th>Routing</th>[% END %] - [% IF ( CAN_user_serials_receive_serials ) %]<th>Edit</th>[% END %] + [% IF ( CAN_user_serials_receive_serials ) %] + <th style="min-width: 60px;"> + <span style="font-size: 70%;"> + <span class="checkall"> + <a class="CheckAll" href="#" onclick="CheckAll('subscription-year-[% year.year %]'); return false;">Select all</a> + </span> + <span class="clearall"> + <a class="CheckNone" href="#" onclick="CheckNone('subscription-year-[% year.year %]'); return false;">Clear all</a> + </span> + </span> + </th> + [% END %] </tr> + </thead> + <tbody> [% FOREACH serial IN year.serials %] [% UNLESS ( loop.odd ) %]<tr class="highlight">[% ELSE %]<tr>[% END %] [% IF ( subscriptions.size > 1 ) %] @@ -250,17 +288,18 @@ $(document).ready(function() { <input type="checkbox" name="serialid" value="[% serial.serialid %]" disabled="disabled" /> [% ELSE %] [% IF ( serial.checked ) %] - <input type="checkbox" name="serialid" checked="checked" value="[% serial.serialid %]" /> + <input type="checkbox" class="checkboxed" name="serialid" checked="checked" value="[% serial.serialid %]" /> [% ELSE %] - <input type="checkbox" name="serialid" value="[% serial.serialid %]" /> - [% END %] + <input type="checkbox" class="checkboxed" name="serialid" value="[% serial.serialid %]" /> + [% END %] [% END %] [% END %] </td> [% END %] </tr> - [% END %] - </table> + [% END %] + </tbody> + </table> </div> [% END %] <input type="hidden" name="subscriptionid" value="[% subscriptionidlist %]" /> diff --git a/serials/serials-collection.pl b/serials/serials-collection.pl index 610de60..7908100 100755 --- a/serials/serials-collection.pl +++ b/serials/serials-collection.pl @@ -163,7 +163,8 @@ $template->param( subscriptioncount => $subscriptioncount, location => $locationlib, callnumber => $callnumber, - uc(C4::Context->preference("marcflavour")) => 1 + uc(C4::Context->preference("marcflavour")) => 1, + dateformatmetric => C4::Context->preference("dateformat") eq "metric" ? 1 : 0, ); output_html_with_http_headers $query, $cookie, $template->output; -- 1.7.10.4