Koha/koha-tmpl/intranet-tmpl/prog/en/modules/circ/pendingreserves.tt
Katrin Fischer dad48bcf0a Bug 13744: Fix datatables paging on 'Holds to pull' report
The paging of the datatables on the 'holds to pull' report
page is broken without this patch.

To test:
- Make sure that some holds are placed on available items
  in your installation
- Go to the circulation start page
- Open the 'holds to pull' report
- Verify that the patch fixes the paging on the result table

Also: Fixes "None" in the filter pull downs to be translatable.
Signed-off-by: Nicole <nicole@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2015-03-07 21:10:28 +01:00

190 lines
7.1 KiB
Text

[% USE KohaDates %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Circulation &rsaquo; Holds to pull</title>
[% INCLUDE 'doc-head-close.inc' %]
[% INCLUDE 'calendar.inc' %]
<!-- Plugin datatables -->
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
[% INCLUDE 'datatables.inc' %]
<script type="text/JavaScript">
//<![CDATA[
$(document).ready(function() {
var holdst = $("#holdst").dataTable($.extend(true, {}, dataTablesDefaults, {
"aoColumnDefs": [
{ "sType": "anti-the", "aTargets" : [ "anti-the" ] },
{ "sType": "title-string", "aTargets" : [ "title-string" ] },
{ "sType": "string", "aTargets": [ "string-sort" ] } //Target columns that use <br> separators and pull-down menus.
],
"sPaginationType": "full_numbers"
}));
holdst.fnAddFilters("filter");
[%# add separateData function to cleanse jQuery select lists by breaking apart strings glued with BR tags and then de-duplicating any repeated library codes %]
function separateData ( ColumnData ){
var cD = ColumnData;
var new_array = new Array();
for ( j=0 ; j<cD.length ; j++ ) {
var split_array = cD[j].split(/<br>/gi);
for ( k=0 ; k<split_array.length ; k++ ){
var check_array = $.inArray(split_array[k], new_array);
if (check_array == -1) {
new_array.push(split_array[k]);
}
}
}
new_array.sort();
return new_array;
}
[%# add SeparateData function into createSelect function, so that it does the createSelect on clean data %]
function createSelect( data ) {
data = separateData(data);
var r='<select style="width:99%"><option value="">' + _("None") + '</option>', i, len=data.length;
for ( i=0 ; i<len ; i++ ) {
r += '<option value="'+data[i]+'">'+data[i]+'</option>';
}
return r+'</select>';
}
$("#homebranchfilter").each( function () {
$(this).html( createSelect( holdst.fnGetColumnData(4) ) );
$('select', this).change( function () {
var filter_value = $(this).val();
if(filter_value){
filter_value = "(^|>)"+filter_value+"($|<)";
}
holdst.fnFilter( filter_value, 4, true );
} );
} );
$("#itypefilter").each( function () {
$(this).html( createSelect( holdst.fnGetColumnData(8) ) );
$('select', this).change( function () {
holdst.fnFilter( $(this).val(), 8 );
} );
} );
$("#locationfilter").each( function () {
$(this).html( createSelect( holdst.fnGetColumnData(9) ) );
$('select', this).change( function () {
holdst.fnFilter( $(this).val(), 9 );
} );
} );
});
//]]>
</script>
</head>
<body id="circ_pendingreserves" class="circ">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'circ-search.inc' %]
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/circ/circulation-home.pl">Circulation</a> &rsaquo; Holds to pull</div>
<div id="doc3" class="yui-t2">
<div id="bd">
<div id="yui-main">
<div class="yui-b">
<h2>Holds to pull[% IF ( run_report ) %] placed between [% from %] and [% to %][% END %]</h2>
[% IF ( run_report ) %]
<h3>Reported on [% todaysdate | $KohaDates %]</h3>
<p>The following holds have not been filled. Please retrieve them and check them in.</p>
<div class="searchresults">
[% IF ( reserveloop ) %]
<table id="holdst">
<thead>
<tr>
<th>Pull this many items</th>
<th>Items available</th>
<th>Patrons with holds</th>
<th class="anti-the">Title</th>
<th class="string-sort">Libraries</th>
<th>Available call numbers</th>
<th>Available copy numbers</th>
<th>Available enumeration</th>
<th class="string-sort">Available itypes</th>
<th class="string-sort">Available locations</th>
<th class="title-string">Earliest hold date</th>
</tr>
</thead>
<tbody>
[% FOREACH reserveloo IN reserveloop %]
<tr>
[% IF ( reserveloo.borrowernumber ) %]
<td><p><b>[% reserveloo.pullcount %]</b></p></td>
<td>[% reserveloo.count %]</td>
<td>[% reserveloo.rcount %]</td>
<td>
<p>
[% INCLUDE 'biblio-default-view.inc' biblionumber = reserveloo.biblionumber %]
[% reserveloo.title |html %]</a></p>
[% IF ( reserveloo.author ) %]<p> by [% reserveloo.author %]</p>[% END %]
</td>
[% ELSE %]
<td>"</td>
<td>"</td>
<td>"</td>
<td>"</td>
[% END %]
<td>[% reserveloo.holdingbranch %]</td>
<td><p>[% reserveloo.itemcallnumber %]</p></td>
<td><p>[% reserveloo.copyno %]</p></td>
<td><p>[% reserveloo.enumchron %]</p></td>
<td>[% reserveloo.itype %]</td>
<td>[% reserveloo.location %]</td>
<td>
<span title="[% reserveloo.reservedate %]">[% reserveloo.reservedate | $KohaDates %] in [% reserveloo.branch %]</span>
[% IF ( reserveloo.statusw ) %]<p>Waiting</p>[% END %][% IF ( reserveloo.statusf ) %]<p>Fullfilled</p>[% END %]
</td>
</tr>
[% END %]
</tbody>
<tfoot>
<tr>
<td><input type="text" class="filter" data-column_num="0" placeholder="Pull this many items" style="width:95%"/></td>
<td><input type="text" class="filter" data-column_num="1" placeholder="Items available" style="width:95%"/></td>
<td><input type="text" class="filter" data-column_num="2" placeholder="Patron holds" style="width:95%"/></td>
<td><input type="text" class="filter" data-column_num="3" placeholder="Title" style="width:95%"/></td>
<td id="homebranchfilter"></td>
<td><input type="text" class="filter" data-column_num="5" placeholder="Call number" style="width:95%"/></td>
<td><input type="text" class="filter" data-column_num="6" placeholder="Available copy" style="width:95%"/></td>
<td><input type="text" class="filter" data-column_num="7" placeholder="Available enumeration" style="width:95%"/></td>
<td id="itypefilter"></td>
<td id="locationfilter"></td>
<td></td>
</tr>
</tfoot>
</table>
[% ELSE %]
<b>No items found.</b>
[% END %]
</div>
[% END %]
</div>
</div>
<div class="yui-b">
<div id="filters">
<form action="/cgi-bin/koha/circ/pendingreserves.pl" method="post" >
<fieldset class="brief">
<h4>Refine results</h4>
<ol>
<li>
<label for="from">
Start date:
</label>
<input type="text" size="10" id="from" name="from" value="[% from %]" class="datepickerfrom" />
</li>
<li><label for="to">
End date:
</label>
<input type="text" size="10" id="to" name="to" value="[% to %]" class="datepickerto" />
</li>
</ol>
<p><i>(Inclusive, default is [% HoldsToPullStartDate %] days ago to [% IF ( HoldsToPullEndDate ) %][% HoldsToPullEndDate %] days ahead[% ELSE %]today[% END %], set other date ranges as needed. )</i></p>
<fieldset class="action"><input type="submit" name="run_report" value="Submit" class="submit"/></fieldset>
</fieldset>
</form>
</div>
</div>
</div>
[% INCLUDE 'intranet-bottom.inc' %]