From bf2781f7b0cc8b12d0193d0d8b368c7b4e199e23 Mon Sep 17 00:00:00 2001
From: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Date: Tue, 18 Aug 2020 09:59:24 +0000
Subject: [PATCH] Bug 26234: Teach our KohaTable constructor the specific th
 classes

We have different classes we can use to set specific behaviours on
table columns: title-string, string-sort, anti-the and NoSort.
We should not need to pass them to the DataTable constructor, we could
teach it that we always want to apply them.

It will avoid bug like bug 26233

The goal is to define them in a centralised place
(columns_settings.inc) then only use the class on the th

Test plan:
Different behaviour and tables must be tested to confirm it works
correctly. Focus must be put on table when aoColumnsDefs is passed from
the template and confirm that this will add more info to aoColumnsDefs
and not remove the existing ones.

Note that this only work when KohaTable is used.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
---
 .../intranet-tmpl/prog/en/includes/columns_settings.inc   | 15 ++++++++++++++-
 koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basket.tt   |  6 ------
 .../prog/en/modules/acqui/duplicate_orders.tt             |  4 ----
 .../intranet-tmpl/prog/en/modules/acqui/histsearch.tt     |  4 ----
 .../intranet-tmpl/prog/en/modules/acqui/lateorders.tt     |  9 ++-------
 .../prog/en/modules/admin/authorised_values.tt            |  5 +----
 koha-tmpl/intranet-tmpl/prog/en/modules/admin/currency.tt |  6 +-----
 .../intranet-tmpl/prog/en/modules/admin/itemtypes.tt      |  5 +----
 .../intranet-tmpl/prog/en/modules/catalogue/detail.tt     |  7 -------
 .../prog/en/modules/catalogue/issuehistory.tt             |  3 ---
 .../intranet-tmpl/prog/en/modules/cataloguing/additem.tt  |  2 +-
 .../prog/en/modules/cataloguing/z3950_search.tt           |  1 -
 koha-tmpl/intranet-tmpl/prog/en/modules/circ/overdue.tt   |  4 ----
 .../intranet-tmpl/prog/en/modules/circ/pendingreserves.tt |  5 -----
 .../intranet-tmpl/prog/en/modules/circ/view_holdsqueue.tt |  7 ++-----
 .../intranet-tmpl/prog/en/modules/circ/waitingreserves.tt | 10 ----------
 .../prog/en/modules/course_reserves/course-details.tt     |  6 +-----
 .../intranet-tmpl/prog/en/modules/members/boraccount.tt   |  6 +-----
 .../intranet-tmpl/prog/en/modules/members/holdshistory.tt |  4 ----
 koha-tmpl/intranet-tmpl/prog/en/modules/members/pay.tt    |  5 -----
 .../intranet-tmpl/prog/en/modules/members/readingrec.tt   |  4 ----
 .../intranet-tmpl/prog/en/modules/patron_lists/list.tt    | 10 ++--------
 koha-tmpl/intranet-tmpl/prog/en/modules/pos/pay.tt        |  7 ++-----
 .../prog/en/modules/reports/guided_reports_start.tt       |  6 ++----
 .../prog/en/modules/reports/orders_by_budget.tt           |  4 ----
 .../prog/en/modules/serials/subscription-detail.tt        |  1 -
 .../prog/en/modules/suggestion/suggestion.tt              |  4 ----
 koha-tmpl/intranet-tmpl/prog/js/cataloging_additem.js     |  3 ---
 .../opac-tmpl/bootstrap/en/modules/opac-course-details.tt |  4 ----
 .../bootstrap/en/modules/opac-course-reserves.tt          |  2 --
 koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt   |  5 -----
 31 files changed, 30 insertions(+), 134 deletions(-)

diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/columns_settings.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/columns_settings.inc
index c8b01e089a..9a5eb315f5 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/includes/columns_settings.inc
+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/columns_settings.inc
@@ -127,8 +127,21 @@ function KohaTable(id_selector, dt_parameters, columns_settings, add_filters) {
         thead_row.before(clone);
     }
 
-    table.dataTable($.extend(true, {}, dataTablesDefaults, dt_parameters));
+    var new_parameters = {}
+    $.extend(true, new_parameters, dataTablesDefaults, dt_parameters);
+    var default_column_defs = [
+        { "aTargets": [ "title-string" ], "sType": "title-string" },
+	{ "aTargets": [ "string-sort" ],  "sType": "string" },
+	{ "aTargets": [ "anti-the" ],     "sType": "anti-the" },
+	{ "aTargets": [ "NoSort" ],       "bSortable": false, "bSearchable": false },
+    ];
+    if ( new_parameters["aoColumnDefs"] === undefined ) {
+        new_parameters["aoColumnDefs"] = default_column_defs;
+    } else {
+        $.extend(true, new_parameters, default_column_defs);
+    }
 
+    table.dataTable(new_parameters);
     table.DataTable().on("column-visibility.dt", function(){
         if( typeof columnsInit == 'function' ){
             // This function can be created separately and used to trigger
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basket.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basket.tt
index a9359d3541..0c3cd0e3da 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basket.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basket.tt
@@ -929,12 +929,6 @@
         [% SET table_settings = TablesSettings.GetTableSettings( 'acqui', 'basket', 'orders' ) %];
         $(document).ready(function() {
             KohaTable("orders", {
-                [% IF ( active ) %]
-                    "aoColumnDefs": [
-                        { "bSortable": false, "bSearchable": false, 'aTargets': [ 'NoSort' ] },
-                        { "sType": "anti-the", "aTargets": [ "anti-the" ] }
-                    ],
-                [% END %]
                 "sPaginationType": "full",
                 "autoWidth": false,
                 "exportColumns": [0,1,2,3,4,5,6,7,8,9,10,11,12,13],
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/duplicate_orders.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/duplicate_orders.tt
index e6300bb0b0..34f23327f3 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/duplicate_orders.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/duplicate_orders.tt
@@ -321,10 +321,6 @@ Basket [% basket.basketno | html %] &rsaquo; Duplicate existing orders
             $('span.hint').hide();
             var columns_settings;// = [% TablesSettings.GetColumns( 'acqui', 'histsearch', 'histsearcht', 'json' ) | $raw %];
             KohaTable("table_orders", {
-                "aoColumnDefs": [
-                    { "sType": "anti-the", "aTargets" : [ "anti-the" ] },
-                    { "sType": "title-string", "aTargets" : [ "title-string" ] }
-                ],
                 "bPaginate": false
             }, columns_settings );
 
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/histsearch.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/histsearch.tt
index 06b2a5b07f..e4f0f2fe45 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/histsearch.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/histsearch.tt
@@ -132,10 +132,6 @@
         $(document).ready(function() {
             var columns_settings = [% TablesSettings.GetColumns( 'acqui', 'histsearch', 'histsearcht', 'json' ) | $raw %];
             KohaTable("histsearcht", {
-                "aoColumnDefs": [
-                    { "sType": "anti-the", "aTargets" : [ "anti-the" ] },
-                    { "sType": "title-string", "aTargets" : [ "title-string" ] }
-                ],
                 "sPaginationType": "full"
             }, columns_settings );
 
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/lateorders.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/lateorders.tt
index cafaccaf84..06cbee722d 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/lateorders.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/lateorders.tt
@@ -54,9 +54,9 @@
       <thead>
         <tr>
             [% IF bookseller_filter %]
-                <th><a id="CheckAll" href="#">Check all</a><br /><a id="CheckNone" href="#">Uncheck all</a></th>
+                <th class="NoSort"><a id="CheckAll" href="#">Check all</a><br /><a id="CheckNone" href="#">Uncheck all</a></th>
             [% ELSE %]
-                <th></th>
+                <th class="NoSort"></th>
             [% END %]
             <th>Order line</th>
             <th class="title-string">Order date</th>
@@ -291,11 +291,6 @@
 
             var columns_settings = [% TablesSettings.GetColumns( 'acqui', 'lateorders', 'late_orders', 'json' ) | $raw %];
             late_orderst = KohaTable("late_orders", {
-                "aoColumnDefs": [
-                    { "aTargets": [ 0 ], "bSortable": false, "bSearchable": false },
-                    { "sType": "anti-the", "aTargets" : [ "anti-the" ] },
-                    { "sType": "title-string", "aTargets" : [ "title-string" ] }
-                ],
                 "sPaginationType": "full",
                 "bAutoWidth": false,
                 "fnDrawCallback": function() {
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/authorised_values.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/authorised_values.tt
index 17bd962d87..57a8379d2e 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/authorised_values.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/authorised_values.tt
@@ -218,7 +218,7 @@
         <th>Description (OPAC)</th>
         <th>Icon</th>
         <th>Library limitations</th>
-        <th class="noExport">Actions</th>
+        <th class="noExport NoSort">Actions</th>
         </tr>
     </thead><tbody>
     [% FOREACH loo IN loop %]
@@ -317,9 +317,6 @@
             var columns_settings = []; // Empty because there are no columns we want to be configurable
 
             KohaTable("categoriest", {
-                "aoColumnDefs": [
-                    { "aTargets": [ -1 ], "bSortable": false, "bSearchable": false },
-                ],
                 "aaSorting": [[ 0, "asc" ]],
                 "sPaginationType": "full"
             }, columns_settings);
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/currency.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/currency.tt
index 874ae51daa..90279ac89e 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/currency.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/currency.tt
@@ -183,7 +183,7 @@
             <th class="title-string">Last updated</th>
             <th>Active</th>
             <th>Archived</th>
-            <th>Actions</th>
+            <th class="NoSort">Actions</th>
         </tr>
       </thead>
       <tbody>
@@ -249,10 +249,6 @@
             columns_settings = [% TablesSettings.GetColumns( 'admin', 'currency', 'currencies-table', 'json' ) | $raw %]
             var issuest = KohaTable("currencies-table", {
                 dom: 'B<"clearfix">t',
-                "columnDefs": [
-                    { "aTargets": [ -1 ], "bSortable": false, "bSearchable": false },
-                    { "sType": "title-string", "aTargets" : [ "title-string" ] }
-                    ],
             }, columns_settings );
 
             // prevents users to check active with a currency != 1
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/itemtypes.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/itemtypes.tt
index 87d5c82b60..53ab7d2ea0 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/itemtypes.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/itemtypes.tt
@@ -404,7 +404,7 @@ Item types administration
             <th>Processing fee (when lost)</th>
             <th>Checkin message</th>
             <th>Library limitations</th>
-            <th class="noExport">Actions</th>
+            <th class="noExport NoSort">Actions</th>
           </thead>
           [% FOREACH itemtype IN itemtypes %]
             <tr>
@@ -538,9 +538,6 @@ Item types administration
 
             $(document).ready(function() {
                 KohaTable("table_item_type", {
-                    "aoColumnDefs": [
-                        { "aTargets": [ -1 ], "bSortable": false, "bSearchable": false },
-                    ],
                 "aaSorting": [[ 1, "asc" ]],
                 "iDisplayLength": 10,
                 "sPaginationType": "full"
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt
index 6bc8bcf49f..8d0f41a673 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt
@@ -1233,10 +1233,6 @@ Note that permanent location is a code, and location may be an authval.
                     'sDom': 't',
                     'bPaginate': false,
                     'bAutoWidth': false,
-                    "aoColumnDefs": [
-                        { "bSortable": false, "bSearchable": false, 'aTargets': [ 'NoSort' ] },
-                        { "sType": "title-string", "aTargets" : [ "title-string" ] }
-                    ],
                     "bKohaColumnsUseNames": true,
                     "sDom": 'C<"top pager"ilpfB><"#filter_c">tr<"bottom pager"ip>',
                 };
@@ -1250,9 +1246,6 @@ Note that permanent location is a code, and location may be an authval.
                     'bPaginate': false,
                     'bAutoWidth': false,
                     "aaSorting": [[ 4, "desc" ]],
-                    "aoColumnDefs": [
-                        { "aTargets": "title-string", "sType": "title-string" }
-                    ]
                 }, columns_settings);
             [% END %]
 
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/issuehistory.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/issuehistory.tt
index 7ced03d39f..f9dab560ce 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/issuehistory.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/issuehistory.tt
@@ -116,9 +116,6 @@
             columns_settings.splice(0,1);
             [% END %]
             var table = KohaTable("table_issues", {
-                "aoColumnDefs": [
-                    { "sType": "title-string", "aTargets" : [ "title-string" ] }
-                ],
                 "sDom": 'C<"top pager"ilpfB><"#filter_c">tr<"bottom pager"ip>',
                 "aaSorting": [[ 4, "desc" ]],
                 "sPaginationType": "full_numbers"
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/additem.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/additem.tt
index 051695788c..c31441b3b5 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/additem.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/additem.tt
@@ -51,7 +51,7 @@
         <table id="itemst">
           <thead>
             <tr>
-                <th>&nbsp;</th>
+                <th class="NoSort">&nbsp;</th>
                 [% FOREACH item_header IN item_header_loop %]
                     [% IF item_header.column_name %]
                         [% IF date_fields.grep(item_header.column_name).size %]
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/z3950_search.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/z3950_search.tt
index 78e31de6bc..939ba9766c 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/z3950_search.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/z3950_search.tt
@@ -245,7 +245,6 @@
             var columns_settings = [% TablesSettings.GetColumns( 'cataloguing', 'z3950_search', 'resultst', 'json' ) | $raw %];
             var thetable = KohaTable("resultst", {
                 "aoColumnDefs": [
-                    { "targets": [ "NoSort" ],"sortable": false,"searchable": false },
                     { "aTargets": [ 1 ], "sType": "nsb-nse" },
                 ],
                 "aaSorting": [[ 1, "asc" ]],
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/overdue.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/overdue.tt
index 9cdf67184b..422b42f5ab 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/overdue.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/overdue.tt
@@ -282,10 +282,6 @@
             KohaTable("overduest", {
                 "sPaginationType": "full",
                 "aaSorting": [[0, 'asc']],
-                "aoColumnDefs": [
-                    { "sType": "title-string", "aTargets": [ "title-string" ] },
-                    { "sType": "anti-the", "aTargets" : [ "anti-the" ] }
-                ],
                 "autoWidth": false,
                 "stateSave": true
             }, columns_settings);
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/pendingreserves.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/pendingreserves.tt
index af6c8114ff..09ab9895ef 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/pendingreserves.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/pendingreserves.tt
@@ -250,11 +250,6 @@
         $(document).ready(function() {
           var columns_settings = [% TablesSettings.GetColumns('circ', 'holds', 'holds-to-pull', 'json') | $raw %];
           var holdst = KohaTable("holdst", {
-            "aoColumnDefs": [
-                { "sType": "anti-the", "aTargets" : [ "anti-the" ] },
-                { "sType": "title-string", "aTargets" : [ "title-string" ] },
-                { "sType": "string", "aTargets": [ "string-sort" ] }
-            ],
             "sPaginationType": "full_numbers"
           }, columns_settings);
           holdst.fnAddFilters("filter");
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/view_holdsqueue.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/view_holdsqueue.tt
index a2613456c9..2fe8d4e813 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/view_holdsqueue.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/view_holdsqueue.tt
@@ -50,7 +50,7 @@
 <table id="holdst">
 	<thead>
     <tr>
-        <th class="hq-title">Title</th>
+        <th class="hq-title anti-the">Title</th>
         <th class="hq-collection">Collection</th>
         <th class="hq-itemtype">Item type</th>
         <th class="hq-callnumber">Call number</th>
@@ -59,7 +59,7 @@
         <th class="hq-barcode">Barcode</th>
         <th class="hq-patron">Patron</th>
         <th class="hq-sendto">Send to</th>
-        <th class="hq-date">Date</th>
+        <th class="hq-date title-string">Date</th>
         <th class="hq-notes">Notes</th>
     </tr>
     <tr>
@@ -232,9 +232,6 @@
             var columns_settings = [% TablesSettings.GetColumns('circ', 'view_holdsqueue', 'holds-table', 'json') | $raw %];
             var holdst = KohaTable("holdst", {
                 "aaSorting": [[ 3, "asc" ]],
-                "aoColumns": [
-                    { "sType": "anti-the" },null,null,null,null,null,null,null,null,{ "sType": "title-string" },null
-                ],
                 "sDom": 'B<"clearfix">t',
                 "bSortCellsTop": true,
                 "bPaginate": false
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/waitingreserves.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/waitingreserves.tt
index b1a49e42b9..38882f3b5d 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/waitingreserves.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/waitingreserves.tt
@@ -129,20 +129,10 @@
         $(document).ready(function() {
 
             KohaTable("holdst", {
-                "aoColumnDefs": [
-                    { "sortable": false, "searchable": false, 'targets': [ 'NoSort' ] },
-                    { "type": "anti-the", "targets" : [ "anti-the" ] },
-                    { "type": "title-string", "targets" : [ "title-string" ] }
-                ],
                 "sPaginationType": "full"
             }, holdst_columns_settings);
 
             KohaTable("holdso", {
-                "aoColumnDefs": [
-                    { "sortable": false, "searchable": false, 'targets': [ 'NoSort' ] },
-                    { "type": "anti-the", "targets" : [ "anti-the" ] },
-                    { "type": "title-string", "targets" : [ "title-string" ] }
-                ],
                 "sPaginationType": "full"
             }, holdso_columns_settings);
 
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/course_reserves/course-details.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/course_reserves/course-details.tt
index 7e9855fa24..317a304a32 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/course_reserves/course-details.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/course_reserves/course-details.tt
@@ -77,7 +77,7 @@
             <table id="course_reserves_table">
                 <thead>
                     <tr>
-                        <th class="antithe">Title</th>
+                        <th class="anti-the">Title</th>
                         <th>Author</th>
                         <th>Barcode</th>
                         <th>Call number</th>
@@ -277,10 +277,6 @@
             var rtable = KohaTable("course_reserves_table", {
                 "sPaginationType": "full",
                 "bAutoWidth": false,
-                "aoColumnDefs": [
-                    { 'bSortable': false, 'aTargets': [ 'NoSort' ] },
-                    { 'sType': "anti-the", 'aTargets' : [ 'antithe'] }
-                ]
             }, columns_settings );
 
             $(".delete_item").click(function(){
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/boraccount.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/boraccount.tt
index 94f0b9620a..ec554de6be 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/boraccount.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/boraccount.tt
@@ -55,7 +55,7 @@
           <th>Note</th>
           <th>Amount</th>
           <th>Outstanding</th>
-          <th>Actions</th>
+          <th class="NoSort">Actions</th>
         </tr>
     </thead>
 
@@ -318,10 +318,6 @@
                 "sPaginationType": "full",
                 'aaSorting': [[0, 'desc']],
                 "sDom": 'C<"top pager"ilpfB><"#filter_c">tr<"bottom pager"ip>',
-                "aoColumnDefs": [
-                    { "sType": "title-string", "aTargets" : [ "title-string" ] },
-                    { "bSortable": false, "bSearchable": false, "aTargets": [-1] }
-                ]
             }, columns_settings);
             $("#filter_c").html('<p><a href="#" id="filter_transacs"><i class="fa fa-filter"></i> '+txtActivefilter+'</a>');
             $('#filter_transacs').click(function(e) {
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/holdshistory.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/holdshistory.tt
index 5b93bce7b3..0e8ab42403 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/holdshistory.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/holdshistory.tt
@@ -139,10 +139,6 @@
                 "sPaginationType": "full",
                 "aaSorting": [[4, 'desc']],
                 "sDom": 'C<"top pager"ilpfB><"#filter_c">tr<"bottom pager"ip>',
-                "aoColumnDefs": [
-                    { "sType": "anti-the", "aTargets" : [ "anti-the" ] },
-                    { "sType": "title-string", "aTargets" : [ "title-string" ] }
-                ]
             }, columns_settings);
         });
     </script>
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/pay.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/pay.tt
index 3ca90b4c03..fa6c646053 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/pay.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/pay.tt
@@ -222,11 +222,6 @@
 
             var columns_settings = [% TablesSettings.GetColumns('members', 'pay', 'pay-fines-table', 'json') | $raw %];
             KohaTable("finest", {
-                "columnDefs": [
-                    { "bSortable": false, "bSearchable": false, 'aTargets': [ 'NoSort' ] },
-                    { "sType": "anti-the", "aTargets" : [ "anti-the" ] },
-                    { "sType": "title-string", "aTargets" : [ "title-string" ] }
-                ],
                 "paging": false,
                 'sorting': [[ 3, "asc" ]],
                 "autoWidth": false
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/readingrec.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/readingrec.tt
index 2e45c501f8..f7aec9e110 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/readingrec.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/readingrec.tt
@@ -136,10 +136,6 @@
                 "sPaginationType": "full",
                 "aaSorting": [[10, 'desc']],
                 "sDom": 'C<"top pager"ilpfB><"#filter_c">tr<"bottom pager"ip>',
-                "aoColumnDefs": [
-                    { "sType": "anti-the", "aTargets" : [ "anti-the" ] },
-                    { "sType": "title-string", "aTargets" : [ "title-string" ] }
-                ]
             }, columns_settings);
 
             var tabs = $("#tabs").tabs({
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/patron_lists/list.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/patron_lists/list.tt
index 2f68bdc629..65f340bd51 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/patron_lists/list.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/patron_lists/list.tt
@@ -119,14 +119,14 @@
             <table id="patron-list-table">
                 <thead>
                     <tr>
-                        <th>&nbsp;</th>
+                        <th class="NoSort">&nbsp;</th>
                         <th>Card</th>
                         <th>First name</th>
                         <th>Surname</th>
                         <th>Address</th>
                         <th>Category</th>
                         <th>Library</th>
-                        <th>Expires on</th>
+                        <th class="title-string">Expires on</th>
                         <th>Circ notes</th>
                     </tr>
                 </thead>
@@ -189,12 +189,6 @@
                 var columns_settings_table = [% TablesSettings.GetColumns('members', 'patron-lists', 'patron-list-table', 'json') | $raw %]
                 KohaTable('patron-list-table', {
                     "order": [[ 3, "asc" ]],
-                    "aoColumns": [
-                        null,null,null,null,null,null,null,{ "sType": "title-string" },null
-                    ],
-                    "aoColumnDefs": [
-                        { "aTargets": [ 0 ], "bSortable": false, "bSearchable": false },
-                    ],
                     "sPaginationType": "full"
                 }, columns_settings_table);
 
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/pos/pay.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/pos/pay.tt
index 19da1e16a8..5cb5638ca9 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/pos/pay.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/pos/pay.tt
@@ -45,8 +45,8 @@
                                 <tr>
                                     <th>Code</th>
                                     <th>Description</th>
-                                    <th>Cost</th>
-                                    <th>Action</th>
+                                    <th class="NoSort">Cost</th>
+                                    <th class="NoSort">Action</th>
                                 </tr>
                             </thead>
                             <tbody>
@@ -335,9 +335,6 @@
         var items_table = KohaTable("invoices", {
                "sPaginationType": "full",
                "aaSorting": [[ 0, "asc" ]],
-               "aoColumnDefs": [
-                  { "aTargets": [ -1, -2 ], "bSortable": false, "bSearchable":false },
-               ],
         }, items_columns_settings);
 
         $(".add_button").on("click", function(e) {
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt
index a7a52b7c5b..658cef5aee 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt
@@ -217,7 +217,7 @@
                                     <table id="table_reports">
                                         <thead>
                                             <tr>
-                                                <th>&nbsp;</th>
+                                                <th class="NoSort">&nbsp;</th>
                                                 <th>ID</th>
                                                 <th>Report name</th>
                                                 <th>Type</th>
@@ -241,7 +241,7 @@
                                                 [% ELSE %]
                                                     <th class="hidden">&nbsp;</th>
                                                 [% END %]
-                                                <th>Actions</th>
+                                                <th class="NoSort">Actions</th>
                                             </tr>
                                         </thead>
                                         <tbody>
@@ -1550,10 +1550,8 @@
                     'sPaginationType': 'full',
                     'aaSorting': [[ 1, "asc" ]],
                     'aoColumnDefs': [
-                        { 'bSortable': false, 'bSearchable':false, 'aTargets': [0, -1] },
                         { 'bSearchable': false, 'aTargets': [3] },
                         { "aTargets": [ 1, 2 ], "sType": "natural"  },
-                        { "sType": "title-string", "aTargets" : [ "title-string" ] },
                         { "visible": false, "aTargets" : [ "hidden" ] }
                     ],
                     'oLanguage': {
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/orders_by_budget.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/orders_by_budget.tt
index 274bf4c99e..6c23dc7065 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/orders_by_budget.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/orders_by_budget.tt
@@ -150,10 +150,6 @@
         [% SET table_settings = TablesSettings.GetTableSettings( 'reports', 'orders_by_fund', 'funds-table' ) %];
         $(document).ready( function () {
             var funds_table = KohaTable("funds", {
-                "columnDefs": [
-                    { "sortable": false, "searchable": false, 'targets': [ 'NoSort' ] },
-                    { "type": "title-string", "targets" : [ "title-string" ] }
-                ],
                 "pageLength": [% table_settings.default_display_length | html %],
                 "order": [[ [% table_settings.default_sort_order | html %], 'asc']],
                 'autoWidth': false,
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-detail.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-detail.tt
index d70797436a..a651a7ec2e 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-detail.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-detail.tt
@@ -518,7 +518,6 @@
                 "aoColumnDefs": [
                     { "bVisible": false, "aTargets": [ 'NoVisible' ] },
                     { "bSortable": false, "aTargets": ["_all"] },
-                    { "aTargets": "title-string", "sType": "title-string" }
                 ],
 
                 'bPaginate': false,
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt
index c293a57ba3..c5ce926b1a 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt
@@ -1010,10 +1010,6 @@
                         KohaTable("table_[% loop.count| html %]", {
                             "sorting": [[ 1, "asc" ]],
                             "autoWidth": false,
-                            "columnDefs": [
-                                { "sortable": false, "searchable": false, 'targets': [ 'NoSort' ] },
-                                { "sType": "anti-the", "aTargets" : [ "anti-the" ] },
-                            ]
                         }, columns_settings );
                     [% END %]
                 [% END %]
diff --git a/koha-tmpl/intranet-tmpl/prog/js/cataloging_additem.js b/koha-tmpl/intranet-tmpl/prog/js/cataloging_additem.js
index e3e746764a..a453411506 100644
--- a/koha-tmpl/intranet-tmpl/prog/js/cataloging_additem.js
+++ b/koha-tmpl/intranet-tmpl/prog/js/cataloging_additem.js
@@ -45,9 +45,6 @@ $(document).ready(function(){
     columns_settings.unshift( { cannot_be_toggled: "1" } );
 
     var itemst = KohaTable("itemst", {
-        "aoColumnDefs": [
-            { "aTargets": [ 0 ], "bSortable": false, "bSearchable": false },
-        ],
         'bPaginate': false,
         'bInfo': false,
         "bAutoWidth": false,
diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-course-details.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-course-details.tt
index c7bd1a1ffc..9813cfbea1 100644
--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-course-details.tt
+++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-course-details.tt
@@ -116,10 +116,6 @@
             "dom": '<"top"flp>rt<"clear">',
             "sorting": [[ 1, "asc" ]],
             "autoWidth": false,
-            "asColumnDefs": [
-                { "type": "anti-the", "targets" : [ "anti-the" ] },
-                { "type": "title-string", "targets" : [ "title-string" ] },
-            ]
         }, columns_settings );
     });
     </script>
diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-course-reserves.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-course-reserves.tt
index 1ef6d436dc..6149ce11e4 100644
--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-course-reserves.tt
+++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-course-reserves.tt
@@ -76,8 +76,6 @@
             "sorting": [[ 1, "asc" ]],
             "autoWidth": false,
             "asColumnDefs": [
-                { "sortable": false, "searchable": false, 'targets': [ 'NoSort' ] },
-                { "sType": "anti-the", "aTargets" : [ "anti-the" ] },
                 { "aTargets": [ 1 ], "sType": "nsb-nse" },
             ]
         }, columns_settings );
diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt
index cc32512efd..58b7effb3e 100644
--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt
+++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt
@@ -1476,7 +1476,6 @@
             dom: '<"clearfix">t',
             "columnDefs": [
                 { "targets": [ -1 ], "sortable": false, "searchable": false },
-                { "type": "title-string", "targets" : [ "title-string" ] }
                 ],
             "bKohaColumnsUseNames": true,
             "autoWidth": false
@@ -1486,7 +1485,6 @@
             dom: '<"clearfix">t',
             "columnDefs": [
                 { "targets": [ -1 ], "sortable": false, "searchable": false },
-                { "type": "title-string", "targets" : [ "title-string" ] }
                 ],
             "bKohaColumnsUseNames": true,
             "autoWidth": false
@@ -1497,9 +1495,6 @@
         KohaTable("#subscriptionst", {
             dom: '<"clearfix">t',
             "sorting": [[ 1, "desc" ]],
-            "columnDefs": [
-                { "type": "title-string", "targets" : [ "title-string" ] }
-                ],
             "autoWidth": false,
             "bKohaColumnsUseNames": true
         }, serial_column_settings);
-- 
2.11.0