2 [% INCLUDE 'doc-head-open.inc' %]
3 <title>Koha › Patron search</title>
4 [% INCLUDE 'doc-head-close.inc' %]
5 <link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
6 [% INCLUDE 'datatables.inc' %]
8 <script type="text/javascript">
12 $(document).ready(function(){
16 [% IF view != "show_results" %]
17 $("#searchresults").hide();
21 $("#searchmember_filter").on('keyup', function(){
24 // Apply DataTables on the results table
25 dtMemberResults = $("#memberresultst").dataTable($.extend(true, {}, dataTablesDefaults, {
27 'sAjaxSource': "/cgi-bin/koha/svc/members/search",
28 'fnServerData': function(sSource, aoData, fnCallback) {
33 'name': 'searchmember',
34 'value': $("#searchmember_filter").val()
36 'name': 'name_sorton',
37 'value': 'borrowers.surname borrowers.firstname'
39 'name': 'category_sorton',
40 'value': 'categories.description',
42 'name': 'branch_sorton',
43 'value': 'branches.branchname'
45 'name': 'template_path',
46 'value': '[% json_template %]',
48 [% IF patrons_with_acq_perm_only %]
50 'name': 'has_permission',
51 'value': 'acquisition.order_manage',
60 'success': function(json){
66 [% FOR column IN columns %]
67 [% IF column == 'action' %]
68 { 'mDataProp': 'dt_action', 'bSortable': false }
69 [% ELSIF column == 'address' %]
70 { 'mDataProp': 'dt_address', 'bSortable': false }
72 { 'mDataProp': 'dt_[% column %]' }
74 [% UNLESS loop.last %],[% END %]
78 [% IF patrons_with_acq_perm_only %]
81 'sPaginationType': 'full_numbers',
82 "iDisplayLength": [% Koha.Preference('PatronsPerPage') %],
87 dtMemberResults.fnAddFilters("filter", 750);
90 var delay = (function(){
92 return function(callback, ms){
94 timer = setTimeout(callback, ms);
101 $("#searchresults").show();
103 if ( $("#searchmember_filter").val().length > 0 ) {
105 dtMemberResults.fnDraw();
112 // modify parent window owner element
113 [% IF selection_type == 'add' %]
114 [%# Note that add_user could sent data instead of borrowername too %]
115 function add_user(borrowernumber, borrowername) {
116 var p = window.opener;
119 if ( p.add_user(borrowernumber, borrowername) < 0 ) {
120 $("#error").html(_("Borrower '%s' is already in the list.").format(borrowername));
123 $("#info").html(_("Borrower '%s' added.").format(borrowername));
127 [% ELSIF selection_type == 'select' %]
128 function select_user(borrowernumber, data) {
129 var p = window.opener;
130 p.select_user(borrowernumber, data);
139 <div id="patron_search" class="yui-t7">
143 <h3>Search for patron</h3>
145 <label for="searchmember_filter">Search:</label>
146 <input type="text" id="searchmember_filter" value="[% searchmember %]"/>
148 [% IF patrons_with_acq_perm_only %]
149 <div class="hint">Only staff with superlibrarian or acquisitions permissions (or order_manage permission if granular permissions are enabled) are returned in the search results</div>
152 <div id="info" class="dialog message"></div>
153 <div id="error" class="dialog alert"></div>
155 <div id="searchresults">
156 <table id="memberresultst">
159 [% FOR column IN columns %]
161 [% CASE 'cardnumber' %]<th>Card</th>
162 [% CASE 'dateofbirth' %]<th>Date of birth</th>
163 [% CASE 'address' %]<th>Address</th>
164 [% CASE 'name' %]<th>Name</th>
165 [% CASE 'branch' %]<th>Library</th>
166 [% CASE 'category' %]<th>Category</th>
167 [% CASE 'action' %]<th> </th>
176 <div id="closewindow"><a href="#" class="close">Close</a></div>
179 [% INCLUDE 'intranet-bottom.inc' %]