2639357767
This first patch remove the previous way to search for users to link to budgets. Test plan: 1/ Edit or create a fund 2/ Edit the owner of this fund a select a patron 3/ Add 1+ users to the user lists of this fund Tested together with other patches. Signed-off-by: Marc Veron <veron@veron.ch> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
182 lines
5.8 KiB
Text
182 lines
5.8 KiB
Text
[% USE Koha %]
|
|
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Koha › Patron search</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
|
|
[% INCLUDE 'datatables.inc' %]
|
|
|
|
<script type="text/javascript">
|
|
//<![CDATA[
|
|
|
|
var search = 1;
|
|
$(document).ready(function(){
|
|
$("#info").hide();
|
|
$("#error").hide();
|
|
|
|
[% IF view != "show_results" %]
|
|
$("#searchresults").hide();
|
|
search = 0;
|
|
[% END %]
|
|
|
|
$("#searchmember_filter").on('keyup', function(){
|
|
filter();
|
|
});
|
|
// Apply DataTables on the results table
|
|
dtMemberResults = $("#memberresultst").dataTable($.extend(true, {}, dataTablesDefaults, {
|
|
'bServerSide': true,
|
|
'sAjaxSource': "/cgi-bin/koha/svc/members/search",
|
|
'fnServerData': function(sSource, aoData, fnCallback) {
|
|
if ( ! search ) {
|
|
return;
|
|
}
|
|
aoData.push({
|
|
'name': 'searchmember',
|
|
'value': $("#searchmember_filter").val()
|
|
},{
|
|
'name': 'name_sorton',
|
|
'value': 'borrowers.surname borrowers.firstname'
|
|
},{
|
|
'name': 'category_sorton',
|
|
'value': 'categories.description',
|
|
},{
|
|
'name': 'branch_sorton',
|
|
'value': 'branches.branchname'
|
|
},{
|
|
'name': 'template_path',
|
|
'value': '[% json_template %]',
|
|
},{
|
|
'name': 'selection_type',
|
|
'value': '[% selection_type %]',
|
|
}
|
|
[% IF patrons_with_acq_perm_only %]
|
|
,{
|
|
'name': 'has_permission',
|
|
'value': 'acquisition.order_manage',
|
|
}
|
|
[% END %]
|
|
);
|
|
$.ajax({
|
|
'dataType': 'json',
|
|
'type': 'POST',
|
|
'url': sSource,
|
|
'data': aoData,
|
|
'success': function(json){
|
|
fnCallback(json);
|
|
}
|
|
});
|
|
},
|
|
'aoColumns':[
|
|
[% FOR column IN columns %]
|
|
[% IF column == 'action' %]
|
|
{ 'mDataProp': 'dt_action', 'bSortable': false }
|
|
[% ELSIF column == 'address' %]
|
|
{ 'mDataProp': 'dt_address', 'bSortable': false }
|
|
[% ELSE %]
|
|
{ 'mDataProp': 'dt_[% column %]' }
|
|
[% END %]
|
|
[% UNLESS loop.last %],[% END %]
|
|
[% END %]
|
|
],
|
|
'bAutoWidth': false,
|
|
[% IF patrons_with_acq_perm_only %]
|
|
'bPaginate': false,
|
|
[% ELSE %]
|
|
'sPaginationType': 'full_numbers',
|
|
"iDisplayLength": [% Koha.Preference('PatronsPerPage') %],
|
|
[% END %]
|
|
'bFilter': false,
|
|
'bProcessing': true,
|
|
}));
|
|
dtMemberResults.fnAddFilters("filter", 750);
|
|
});
|
|
|
|
var delay = (function(){
|
|
var timer = 0;
|
|
return function(callback, ms){
|
|
clearTimeout (timer);
|
|
timer = setTimeout(callback, ms);
|
|
};
|
|
})();
|
|
|
|
function filter() {
|
|
search = 1;
|
|
|
|
$("#searchresults").show();
|
|
|
|
if ( $("#searchmember_filter").val().length > 0 ) {
|
|
delay(function(){
|
|
dtMemberResults.fnDraw();
|
|
}, 1000);
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
// modify parent window owner element
|
|
[% IF selection_type == 'add' %]
|
|
[%# Note that add_user could sent data instead of borrowername too %]
|
|
function add_user(borrowernumber, borrowername) {
|
|
var p = window.opener;
|
|
$("#info").hide();
|
|
$("#error").hide();
|
|
if ( p.add_user(borrowernumber, borrowername) < 0 ) {
|
|
$("#error").html(_("Borrower '%s' is already in the list.").format(borrowername));
|
|
$("#error").show();
|
|
} else {
|
|
$("#info").html(_("Borrower '%s' added.").format(borrowername));
|
|
$("#info").show();
|
|
}
|
|
}
|
|
[% ELSIF selection_type == 'select' %]
|
|
function select_user(borrowernumber, data) {
|
|
var p = window.opener;
|
|
p.select_user(borrowernumber, data);
|
|
window.close();
|
|
}
|
|
[% END %]
|
|
//]]>
|
|
</script>
|
|
|
|
</head>
|
|
<body>
|
|
<div id="patron_search" class="yui-t7">
|
|
<div id="bd">
|
|
<div class="yui-g">
|
|
|
|
<h3>Search for patron</h3>
|
|
|
|
<label for="searchmember_filter">Search:</label>
|
|
<input type="text" id="searchmember_filter" value="[% searchmember %]"/>
|
|
|
|
[% IF patrons_with_acq_perm_only %]
|
|
<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>
|
|
[% END %]
|
|
|
|
<div id="info" class="dialog message"></div>
|
|
<div id="error" class="dialog alert"></div>
|
|
|
|
<div id="searchresults">
|
|
<table id="memberresultst">
|
|
<thead>
|
|
<tr>
|
|
[% FOR column IN columns %]
|
|
[% SWITCH column %]
|
|
[% CASE 'cardnumber' %]<th>Card</th>
|
|
[% CASE 'dateofbirth' %]<th>Date of birth</th>
|
|
[% CASE 'address' %]<th>Address</th>
|
|
[% CASE 'name' %]<th>Name</th>
|
|
[% CASE 'branch' %]<th>Library</th>
|
|
[% CASE 'category' %]<th>Category</th>
|
|
[% CASE 'action' %]<th> </th>
|
|
[% END %]
|
|
[% END %]
|
|
</tr>
|
|
</thead>
|
|
<tbody></tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<div id="closewindow"><a href="#" class="close">Close</a></div>
|
|
</div>
|
|
</div>
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|