From f215623d8fafd3b920c5eab72f2a3c8c3924710a Mon Sep 17 00:00:00 2001
From: Jonathan Druart <jonathan.druart@biblibre.com>
Date: Wed, 18 Mar 2015 13:09:06 +0100
Subject: [PATCH] Bug 13866: Columns configuration - Patrons search

This patch adds the ability to hide columns on the patrons search page
(acqui/lateorders.pl).

Test plan:
Go on the patrons search page and confirm you are able to hide columns.
You can also play with the columns configuration admin page and confirm
that the behaviors are consistent.
---
 admin/columns_settings.yml                         | 27 ++++++++++++++++++++++
 .../prog/en/modules/admin/columns_settings.tt      |  6 +++++
 .../prog/en/modules/members/member.tt              |  7 ++++--
 3 files changed, 38 insertions(+), 2 deletions(-)

diff --git a/admin/columns_settings.yml b/admin/columns_settings.yml
index 197d8af..ffb2ae6 100644
--- a/admin/columns_settings.yml
+++ b/admin/columns_settings.yml
@@ -82,3 +82,30 @@ modules:
           columnname: active
         -
           columnname: actions
+  members:
+    member:
+      memberresultst:
+        -
+          columnname: checkbox
+          cannot_be_toggled: 1
+          cannot_be_modified: 1
+        -
+          columnname: cardnumber
+        -
+          columnname: name
+        -
+          columnname: category
+        -
+          columnname: library
+        -
+          columnname: expires_on
+        -
+          columnname: od_checkouts
+        -
+          columnname: fines
+        -
+          columnname: circ_notes
+        -
+          columnname: actions
+          cannot_be_toggled: 1
+          cannot_be_modified: 1
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/columns_settings.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/columns_settings.tt
index f812709..2afb2c4 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/columns_settings.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/columns_settings.tt
@@ -143,6 +143,12 @@
             <h4>Circulation tables</h4>
             [% PROCESS pagelist module=modules.circ modulename="circ" %]
           </div>
+
+          <h3><a href="#members">Patrons</a></h3>
+          <div id="members">
+            <h4>Patrons tables</h4>
+            [% PROCESS pagelist module=modules.members modulename="members" %]
+          </div>
         </div>
       </div>
     </div>
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/member.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/member.tt
index d481c60..7ecf271 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/member.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/member.tt
@@ -1,9 +1,11 @@
 [% USE Koha %]
+[% USE ColumnsSettings %]
 [% INCLUDE 'doc-head-open.inc' %]
 <title>Koha &rsaquo; Patrons [% IF ( searching ) %]&rsaquo; Search results[% END %]</title>
 [% INCLUDE 'doc-head-close.inc' %]
 <link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
 [% INCLUDE 'datatables.inc' %]
+[% INCLUDE 'columns_settings.inc' %]
 <script type="text/javascript">
 //<![CDATA[
 $(document).ready(function() {
@@ -130,7 +132,8 @@ $(document).ready(function() {
     });
 
     // Apply DataTables on the results table
-    dtMemberResults = $("#memberresultst").dataTable($.extend(true, {}, dataTablesDefaults, {
+    var columns_settings = [% ColumnsSettings.GetColumns( 'members', 'member', 'memberresultst', 'json' ) %];
+    dtMemberResults = KohaTable("#memberresultst", {
         'bServerSide': true,
         'sAjaxSource': "/cgi-bin/koha/svc/members/search",
         'fnServerData': function(sSource, aoData, fnCallback) {
@@ -215,7 +218,7 @@ $(document).ready(function() {
         'sPaginationType': 'full_numbers',
         "iDisplayLength": [% PatronsPerPage %],
         "bProcessing": true,
-    }));
+    }, columns_settings);
     update_searched();
 });
 
-- 
2.1.0