From d1de30f674ddf8ca77272f9a55c4a3b2c6685de4 Mon Sep 17 00:00:00 2001 From: Owen Leonard Date: Fri, 24 Apr 2020 11:49:21 +0000 Subject: [PATCH] Bug 25274: Don't initialize DataTable if table isn't present This patch modifies the OPAC basket JavaScript so that a check is added for the existence of the "itemst" table. This avoids an error if the "More details" view is selected and hte "itemst" table isn't present. To reproduce the error, add some items to the OPAC cart and open the cart window. Open the JavaScript console in your browser and click the "More details" link. You'll see an error. To test, apply the patch and perform the same test as above. The error should not be present. Test that table sorting in the "brief" view words correctly. Signed-off-by: David Roberts Signed-off-by: Jonathan Druart --- .../bootstrap/en/modules/opac-basket.tt | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-basket.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-basket.tt index 94e3ec3a5c..415ed112fe 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-basket.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-basket.tt @@ -428,26 +428,27 @@ return false; }); - var itemst = $("#itemst").dataTable($.extend(true, {}, dataTablesDefaults, { - "order": [[ 1, "asc" ]], - "columnDefs": [ - { "targets": [ 0,-1 ], "sortable": false, "searchable": false } - ], - "columns": [ - null, - { "type": "anti-the" }, - null, - null, - null - ], - - })); - - var buttons = new $.fn.dataTable.Buttons(itemst, { - buttons: [ - 'print' - ] - }).container().appendTo($('#toolbar')); + if( $("#itemst").length > 0 ){ + var itemst = $("#itemst").dataTable($.extend(true, {}, dataTablesDefaults, { + "order": [[ 1, "asc" ]], + "columnDefs": [ + { "targets": [ 0,-1 ], "sortable": false, "searchable": false } + ], + "columns": [ + null, + { "type": "anti-the" }, + null, + null, + null + ], + })); + + var buttons = new $.fn.dataTable.Buttons(itemst, { + buttons: [ + 'print' + ] + }).container().appendTo($('#toolbar')); + } $(".cb").change(function(){ selRecord( $(this).val(), $(this).prop("checked") ); -- 2.20.1