Bug 26214: Remove the use of jquery.checkboxes plugin on late orders page
authorOwen Leonard <oleonard@myacpl.org>
Fri, 14 Aug 2020 14:47:40 +0000 (14:47 +0000)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Tue, 18 Aug 2020 13:45:49 +0000 (15:45 +0200)
This patch replaces the use of the jquery.checkboxes plugin on late
orders page in acquisitions.

Unrelated changes: The "Check all" and "Uncheck all" links are moved out
of the table header so that it matches similar interfaces. Sorting is
now disabled on the checkboxes column and the table is sorted by default
on the "Order line" column.

To test, apply the patch and go to Acquisitions -> Late orders.

 - On the initial view, there should be no "Check all" or "Uncheck all"
   links.
 - Select a vendor in the left-hand sidebar form.
 - When the filtered table is redisplayed the "Check all" and "Uncheck
   all" links should now be visible.
 - Test that the links work correctly.
 - Confirm that the checkboxes column cannot be sorted and that the
   table is sorted by default by order line number.

Signed-off-by: Amit Gupta <amit.gupta@informaticsglobal.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

koha-tmpl/intranet-tmpl/prog/en/modules/acqui/lateorders.tt

index cafacca..d573938 100644 (file)
        </p>
        [% END %]
     [% SET total = 0 %]
+    [% IF bookseller_filter %]
+        <p><a id="CheckAll" href="#"><i class="fa fa-check"></i> Check all</a> <a id="CheckNone" href="#"><i class="fa fa-remove"></i> Uncheck all</a></p>
+    [% END %]
     <table id="late_orders">
       <thead>
         <tr>
-            [% IF bookseller_filter %]
-                <th><a id="CheckAll" href="#">Check all</a><br /><a id="CheckNone" href="#">Uncheck all</a></th>
-            [% ELSE %]
-                <th></th>
-            [% END %]
+            <th class="NoSort"></th>
             <th>Order line</th>
             <th class="title-string">Order date</th>
             <th class="title-string">Estimated delivery date</th>
     [% Asset.js("js/acquisitions-menu.js") | $raw %]
     [% INCLUDE 'datatables.inc' %]
     [% INCLUDE 'columns_settings.inc' %]
-    [% Asset.js("lib/jquery/plugins/jquery.checkboxes.min.js") | $raw %]
     [% INCLUDE 'calendar.inc' %]
     <script>
         var late_orderst;
             var columns_settings = [% TablesSettings.GetColumns( 'acqui', 'lateorders', 'late_orders', 'json' ) | $raw %];
             late_orderst = KohaTable("late_orders", {
                 "aoColumnDefs": [
-                    { "aTargets": [ 0 ], "bSortable": false, "bSearchable": false },
+                    { "targets": [ "NoSort" ],"sortable": false,"searchable": false },
                     { "sType": "anti-the", "aTargets" : [ "anti-the" ] },
                     { "sType": "title-string", "aTargets" : [ "title-string" ] }
                 ],
+                "sorting": [[ 1, "asc" ]],
                 "sPaginationType": "full",
                 "bAutoWidth": false,
                 "fnDrawCallback": function() {
                 }
             }, columns_settings );
             $('input:checkbox[name=ordernumber]').bind('click', check_uncheck);
-            $('#CheckAll').click(function(){ $(late_orderst.fnGetNodes()).find("td").checkCheckboxes();});
-            $('#CheckNone').click(function(){ $(late_orderst.fnGetNodes()).find("td").unCheckCheckboxes();});
+            $('#CheckAll').click(function(e){
+                e.preventDefault();
+                $("#late_orders input:checkbox").prop("checked", true);
+            });
+            $('#CheckNone').click(function(e){
+                e.preventDefault();
+                $("#late_orders input:checkbox").prop("checked", false);
+            });
 
             // Generates a dynamic link for exporting the selection's data as CSV
             $("#exportbutton, #export-csv-menu a").click(function() {