Bug 20223: Merge members-menu and circ-menu inc files
[koha_ffzg] / koha-tmpl / intranet-tmpl / prog / en / modules / members / member.tt
index b40bb03..a5a5c00 100644 (file)
@@ -1,3 +1,5 @@
+[% USE raw %]
+[% USE Asset %]
 [% USE Koha %]
 [% USE ColumnsSettings %]
 [% USE Branches %]
@@ -6,7 +8,7 @@
 [% 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="[% interface %]/[% theme %]/css/datatables_[% KOHA_VERSION %].css" />
+[% Asset.css("css/datatables.css") | $raw %]
 </head>
 
 <body id="pat_member" class="pat">
             </div>
           [% END %]
 
-          [% IF Koha.Preference( 'NorwegianPatronDBEnable' ) == 1 %]
-            [% SET nl_search_form_title='Search the Norwegian national patron database' %]
-            [% INCLUDE 'nl-search-form.tt' %]
-          [% END %]
-
           [% INCLUDE 'patron-toolbar.inc' %]
           [% INCLUDE 'noadd-warnings.inc' %]
 
           <div class="browse">
             Browse by last name:
             [% FOREACH letter IN alphabet.split(' ') %]
-                <a href="#" class="filterByLetter">[% letter %]</a>
+                <a href="#" class="filterByLetter">[% letter | html %]</a>
             [% END %]
           </div>
 
           [% IF CAN_user_borrowers_edit_borrowers && pending_borrower_modifications %]
             <div class="pending-info" id="patron_updates_pending">
               <a href="/cgi-bin/koha/members/members-update.pl">Patrons requesting modifications</a>:
-              <span class="number_box"><a href="/cgi-bin/koha/members/members-update.pl">[% pending_borrower_modifications %]</a></span>
+              <span class="number_box"><a href="/cgi-bin/koha/members/members-update.pl">[% pending_borrower_modifications | html %]</a></span>
             </div>
           [% END %]
 
             <div id="searchheader">
               <h3>Patrons found for: <span id="searchpattern">[% IF searchmember %] for '[% searchmember | html %]'[% END %]</span></h3>
             </div>
-            [% IF CAN_user_tools_manage_patron_lists %]
+            [% IF CAN_user_tools_manage_patron_lists || CAN_user_borrowers_edit_borrowers %]
               <div id="searchheader">
                   <div>
+                    [% IF CAN_user_tools_manage_patron_lists %]
                       <a href="#" id="select_all"><i class="fa fa-check"></i> Select all</a>
                       |
                       <a href="#" id="clear_all"><i class="fa fa-remove"></i> Clear all</a>
@@ -66,7 +64,7 @@
                               [% IF patron_lists %]
                                   <optgroup label="Patron lists:">
                                       [% FOREACH pl IN patron_lists %]
-                                          <option value="[% pl.patron_list_id %]">[% pl.name |html %]</option>
+                                          <option value="[% pl.patron_list_id | html %]">[% pl.name | html %]</option>
                                       [% END %]
                                   </optgroup>
                               [% END %]
 
                           <input id="add_to_patron_list_submit" type="submit" class="submit" value="Save">
                       </span>
+                    [% END %]
+
+                    [% IF CAN_user_tools_manage_patron_lists && CAN_user_borrowers_edit_borrowers %]
+                        |
+                    [% END %]
+
+                    [% IF CAN_user_borrowers_edit_borrowers %]
+                          <button id="merge-patrons" type="submit">Merge selected patrons</button>
+                    [% END %]
                   </div>
-              </div>
+                </div>
             [% END %]
 
             <table id="memberresultst">
           <ol>
             <li>
               <label for="searchmember_filter">Search:</label>
-              <input type="text" id="searchmember_filter" value="[% searchmember %]"/>
+              <input type="text" id="searchmember_filter" value="[% searchmember | html %]"/>
             </li>
             <li>
               <label for="searchfieldstype_filter">Search fields:</label>
                 <option value="">Any</option>
                 [% FOREACH cat IN categories %]
                   [% IF cat.categorycode == categorycode_filter %]
-                    <option selected="selected" value="[% cat.categorycode %]">[% cat.description |html %]</option>
+                    <option selected="selected" value="[% cat.categorycode | html %]">[% cat.description | html %]</option>
                   [% ELSE %]
-                    <option value="[% cat.categorycode %]">[% cat.description |html %]</option>
+                    <option value="[% cat.categorycode | html %]">[% cat.description | html %]</option>
                   [% END %]
                 [% END %]
               </select>
       </form>
     </div>
   </div>
-  <div class="yui-g">
-    [% INCLUDE 'members-menu.inc' %]
-  </div>
 </div>
 
 [% MACRO jsinclude BLOCK %]
     [% INCLUDE 'datatables.inc' %]
     [% INCLUDE 'columns_settings.inc' %]
-    <script type="text/javascript" src="[% interface %]/[% theme %]/js/members-menu_[% KOHA_VERSION %].js"></script>
+    [% INCLUDE 'str/members-menu.inc' %]
+    [% Asset.js("js/members-menu.js") | $raw %]
     <script type="text/javascript">
         $(document).ready(function() {
+            $('#merge-patrons').prop('disabled', true);
+            $('#memberresultst').on('change', 'input.selection', function() {
+                if ( $('.selection:checked').length > 1 ) {
+                    $('#merge-patrons').prop('disabled', false);
+                } else {
+                    $('#merge-patrons').prop('disabled', true);
+                }
+            });
+            $('#merge-patrons').on('click', function() {
+                var merge_patrons_url = 'merge-patrons.pl?' + $('.selection:checked')
+                    .map(function() {
+                       return "id=" + $(this).val()
+                    }).get().join('&');
+
+                window.location.href = merge_patrons_url;
+            });
+
             $('#add_to_patron_list_submit').prop('disabled', true);
             $('#new_patron_list').hide();
 
             });
             $("#select_all").on("click",function(e){
                 e.preventDefault();
-                $(".selection").prop("checked", true);
+                $(".selection").prop("checked", true).change();
             });
             $("#clear_all").on("click",function(e){
                 e.preventDefault();
-                $(".selection").prop("checked", false);
+                $(".selection").prop("checked", false).change();
             });
             $("#clear_search").on("click",function(e){
                 e.preventDefault();
                 $("#searchmember_filter").val("[% searchmember | html %]");
             [% END %]
             [% IF searchfieldstype %]
-                $("searchfieldstype_filter").val("[% searchfieldstype %]");
+                $("searchfieldstype_filter").val("[% searchfieldstype | html %]");
             [% END %]
             [% IF searchtype %]
-                $("#searchtype_filter").val("[% searchtype %]");
+                $("#searchtype_filter").val("[% searchtype | html %]");
             [% END %]
             [% IF categorycode %]
-                $("#categorycode_filter").val("[% categorycode_filter %]");
+                $("#categorycode_filter").val("[% categorycode_filter | html %]");
             [% END %]
             [% IF branchcode %]
-                $("#branchcode_filter").val("[% branchcode_filter %]");
+                $("#branchcode_filter").val("[% branchcode_filter | html %]");
             [% END %]
 
             [% IF view != "show_results" %]
 
             // Build the aLengthMenu
             var aLengthMenu = [
-                [%PatronsPerPage %], 10, 20, 50, 100, -1
+                [% PatronsPerPage | html %], 10, 20, 50, 100, -1
             ];
             jQuery.unique(aLengthMenu);
             aLengthMenu.sort(function( a, b ){
             });
 
             // Apply DataTables on the results table
-            var columns_settings = [% ColumnsSettings.GetColumns( 'members', 'member', 'memberresultst', 'json' ) %];
+            var columns_settings = [% ColumnsSettings.GetColumns( 'members', 'member', 'memberresultst', 'json' ) | $raw %];
             [% UNLESS CAN_user_tools_manage_patron_lists %]
                 [%# Remove the first column if we do not display the checkbox %]
                 columns_settings.splice(0, 1);
                 [% END %]
                 "aLengthMenu": [aLengthMenu, aLengthMenuLabel],
                 'sPaginationType': 'full_numbers',
-                "iDisplayLength": [% PatronsPerPage %],
+                "iDisplayLength": [% PatronsPerPage | html %],
                 "bProcessing": true,
             }, columns_settings);
             update_searched();