Koha/koha-tmpl/intranet-tmpl/prog/en/modules/reports/reserves_stats.tt
Bernardo Gonzalez Kriegel 9626daa220 Bug 12707: Remove CGI::scrolling_list from some Reports
This patch removes similar instances on 5 files, same code.
Also removes a commented one, changed in case some plan to
resurrect the code.

This bug depends on Bug 12696.

In all cases but the commented one, what was replaced
is a pulldown with one value, 'CSV'

To test:
1. Apply patch for Bug 12696
2. Apply this patch

Check for the pulldown 'Into an application'

3. Go to Reports > Statistics wizard > Borrowers
4. Go to Reports > Statistics wizard > Circulation
5. Go to Reports > Statistics wizard > Holds
6. Go to Reports > Top lists > Most-circulated items
7. Go to Reports > Inactive > Patrons who haven't checked out

8. There is also a commented code on catalogue_stats, no fuctional
changes.

Followed test plan. Patch behaves as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, passes tests and QA script.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-08-15 14:47:23 -03:00

375 lines
19 KiB
Text

[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Reports &rsaquo; Holds statistics [% IF ( do_it ) %]&rsaquo; Results[% END %]</title>
[% INCLUDE 'doc-head-close.inc' %]
[% INCLUDE 'calendar.inc' %]
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
// http://jqueryui.com/demos/datepicker/#date-range
var dates = $( "#filter_reservedate_begin, #filter_reservedate_end" ).datepicker({
changeMonth: true,
numberOfMonths: 1,
onSelect: function( selectedDate ) {
var option = this.id == "filter_reservedate_begin" ? "minDate" : "maxDate",
instance = $( this ).data( "datepicker" );
date = $.datepicker.parseDate(
instance.settings.dateFormat ||
$.datepicker._defaults.dateFormat,
selectedDate, instance.settings );
dates.not( this ).datepicker( "option", option, date );
}
});
var datesND = $( "#filter_notificationdate_begin, #filter_notificationdate_end" ).datepicker({
changeMonth: true,
numberOfMonths: 1,
onSelect: function( selectedDate ) {
var option = this.id == "filter_notificationdate_begin" ? "minDate" : "maxDate",
instance = $( this ).data( "datepicker" );
date = $.datepicker.parseDate(
instance.settings.dateFormat ||
$.datepicker._defaults.dateFormat,
selectedDate, instance.settings );
datesND.not( this ).datepicker( "option", option, date );
}
});
var datesRD = $( "#filter_reminderdate_begin, #filter_reminderdate_end" ).datepicker({
changeMonth: true,
numberOfMonths: 1,
onSelect: function( selectedDate ) {
var option = this.id == "filter_reminderdate_begin" ? "minDate" : "maxDate",
instance = $( this ).data( "datepicker" );
date = $.datepicker.parseDate(
instance.settings.dateFormat ||
$.datepicker._defaults.dateFormat,
selectedDate, instance.settings );
datesRD.not( this ).datepicker( "option", option, date );
}
});
var datesWD = $( "#filter_waitingdate_begin, #filter_waitingdate_end" ).datepicker({
changeMonth: true,
numberOfMonths: 1,
onSelect: function( selectedDate ) {
var option = this.id == "filter_waitingdate_begin" ? "minDate" : "maxDate",
instance = $( this ).data( "datepicker" );
date = $.datepicker.parseDate(
instance.settings.dateFormat ||
$.datepicker._defaults.dateFormat,
selectedDate, instance.settings );
datesWD.not( this ).datepicker( "option", option, date );
}
});
var datesCD = $( "#filter_cancellationdate_begin, #filter_cancellationdate_end" ).datepicker({
changeMonth: true,
numberOfMonths: 1,
onSelect: function( selectedDate ) {
var option = this.id == "filter_cancellationdate_begin" ? "minDate" : "maxDate",
instance = $( this ).data( "datepicker" );
date = $.datepicker.parseDate(
instance.settings.dateFormat ||
$.datepicker._defaults.dateFormat,
selectedDate, instance.settings );
datesCD.not( this ).datepicker( "option", option, date );
}
});
});
//]]>
</script>
<style type="text/css">
.sql {display:none;}
</style>
</head>
<body id="rep_reserve_stats" class="rep">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'cat-search.inc' %]
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/reports/reports-home.pl">Reports</a> [% IF ( do_it ) %]&rsaquo; <a href="/cgi-bin/koha/reports/reserves_stats.pl">Holds statistics</a> &rsaquo; Results [% ELSE %]&rsaquo; Holds statistics[% END %]</div>
<div id="doc3" class="yui-t2">
<div id="bd">
<div id="yui-main">
<div class="yui-b">
[% IF ( do_it ) %]
[% IF ( mainloop ) %]
<h1>Holds statistics</h1>
[% IF ( loopfilter ) %]
<p>Filtered on:</p>
<ul>
[% FOREACH loopfilte IN loopfilter %]
[% IF ( loopfilte.err ) %]<li class="error">Error:
[% ELSIF ( loopfilte.sql ) %]<li class="sql">
[% ELSE %]<li>
[% END %]
[% loopfilte.crit %] [% loopfilte.filter %]
</li>
[% END %]
</ul>
[% END %]
[% FOREACH mainloo IN mainloop %]
<table>
<tr>
<th>[% mainloo.line %] / [% mainloo.column %]</th>
[% FOREACH loopco IN mainloo.loopcol %]
<th>[% loopco.coltitle_display |html %]</th>
[% END %]
<th>TOTAL</th>
</tr>
[% FOREACH loopro IN mainloo.looprow %]
[% IF ( loop.odd ) %]
<tr>
[% ELSE %]
<tr class="highlight">
[% END %]
<td>[% loopro.rowtitle_display or "UNKNOWN VALUE" |html %]</td>
[% FOREACH loopcel IN loopro.loopcell %]
<td align="center">
[% IF ( loopcel.url_complement ) %]<a href="reserves_stats.pl?output=[% loopcel.output %]&amp;[% loopcel.url_complement %]">[% loopcel.value %]</a>[% ELSE %][% loopcel.value %][% END %]
</td>
[% END %]
<td align="center">[% loopro.totalrow %]</td>
</tr>
[% END %]
<tr>
<th>TOTAL</th>
[% FOREACH loopfoote IN mainloo.loopfooter %]
<th>[% loopfoote.totalcol %]</th>
[% END %]
<th>[% mainloo.total %]</th>
</tr>
</table>
[% END %]
[% END %]
[% ELSE %]
<form method="post" action="/cgi-bin/koha/reports/reserves_stats.pl">
<fieldset class="rows">
<legend>Holds statistics</legend><table>
<thead>
<tr>
<th>Title</th>
<th>Row</th>
<th>Column</th>
<th>Filter</th>
</tr>
</thead>
<tbody>
<tr >
<td>Hold status </td>
<td><input type="radio" name="Line" value="reservestatus" /></td>
<td><input type="radio" name="Column" value="reservestatus" checked="checked" /></td>
<td>
<input type="checkbox" name="filter_reservestatus_or_1" value="1" /> Asked
<input type="checkbox" name="filter_reservestatus_or_2" value="2" /> Processing
<input type="checkbox" name="filter_reservestatus_or_3" value="3" /> Waiting
<input type="checkbox" name="filter_reservestatus_or_4" value="4" /> Satisfied
<input type="checkbox" name="filter_reservestatus_or_5" value="5" /> Cancelled
</td>
</tr>
<tr class="highlight">
<td>Hold Date</td>
<td><input type="radio" name="Line" value="reservedate" /></td>
<td><input type="radio" name="Column" value="reservedate" /></td>
<td><label for="filter_reservedate_begin">From</label> <input type="text" size="10" id="filter_reservedate_begin" name="filter_reservedate_begin" />
<label for="filter_reservedate_end">To</label> <input size="10" id="filter_reservedate_end" name="filter_reservedate_end" value="" type="text" />
</td>
</tr>
<tr>
<td>Notification Date</td>
<td><input type="radio" name="Line" value="notificationdate" /></td>
<td><input type="radio" name="Column" value="notificationdate" /></td>
<td><label for="filter_notificationdate_begin">From</label> <input type="text" size="10" id="filter_notificationdate_begin" name="filter_notificationdate_begin" />
<label for="filter_notificationdate_end">To</label> <input size="10" id="filter_notificationdate_end" name="filter_notificationdate_end" value="" type="text" />
</td>
</tr>
<tr>
<td>Reminder Date</td>
<td><input type="radio" name="Line" value="reminderdate" /></td>
<td><input type="radio" name="Column" value="reminderdate" /></td>
<td><label for="filter_reminderdate_begin">From</label> <input type="text" size="10" id="filter_reminderdate_begin" name="Filter" />
<label for="filter_reminderdate_end">To</label> <input size="10" id="filter_reminderdate_end" name="filter_reminderdate_end" value="" type="text" />
</td>
</tr>
<tr>
<td>Waiting Date</td>
<td><input type="radio" name="Line" value="waitingdate" /></td>
<td><input type="radio" name="Column" value="waitingdate" /></td>
<td><label for="filter_waitingdate_begin">From</label> <input type="text" size="10" id="filter_waitingdate_begin" name="filter_waitingdate_begin" />
<label for="filter_waitingdate_end">To</label> <input size="10" id="filter_waitingdate_end" name="filter_waitingdate_end" value="" type="text" />
</td>
</tr>
<tr>
<td>Cancellation Date</td>
<td><input type="radio" name="Line" value="cancellationdate" /></td>
<td><input type="radio" name="Column" value="cancellationdate" /></td>
<td><label for="filter_cancellationdate_begin">From</label> <input type="text" size="10" id="filter_cancellationdate_begin" name="filter_cancellationdate_begin" />
<label for="filter_cancellationdate_end">To</label> <input size="10" id="filter_cancellationdate_end" name="filter_cancellationdate_end" value="" type="text" />
</td>
</tr>
<tr>
<td>Patron category</td>
<td><input type="radio" name="Line" value="borrowers.categorycode" /></td>
<td><input type="radio" name="Column" value="borrowers.categorycode" /></td>
<td><select name="filter_categorycode" id="borcat">
<option value=""> </option>
[% FOREACH categoryloo IN categoryloop %]
[% IF ( categoryloo.selected ) %]<option value="[% categoryloo.categorycode %]" selected="selected">[% categoryloo.description %]</option>[% ELSE %]<option value="[% categoryloo.categorycode %]">[% categoryloo.description %]</option>[% END %]
[% END %]
</select>
</td>
</tr>
<tr class="highlight">
<td>Item type</td>
<td><input type="radio" name="Line" value="items.itype" /></td>
<td><input type="radio" name="Column" value="items.itype" /></td>
<td><select name="filter_items.itype" id="itype">
<option value=""> </option>
[% FOREACH itypeloo IN itemtypeloop %]
[% IF ( itypeloo.selected ) %]<option value="[% itypeloo.code %]" selected="selected">[% itypeloo.description %]</option>[% ELSE %]<option value="[% itypeloo.code %]">[% itypeloo.description %]</option>[% END %]
[% END %]
</select>
</td>
</tr>
<tr>
<td>Pickup library</td>
<td><input type="radio" name="Line" value="reserves.branchcode" checked="checked" /></td>
<td><input type="radio" name="Column" value="reserves.branchcode" /></td>
<td><select name="filter_reserves.branchcode" id="resbranchcode">
<option value=""> </option>
[% FOREACH branchloo IN branchloop %]
[% IF ( branchloo.selected ) %]<option value="[% branchloo.value %]" selected="selected">[% branchloo.branchname %]</option>[% ELSE %]<option value="[% branchloo.value %]">[% branchloo.branchname %]</option>[% END %]
[% END %]
</select>
</td>
</tr>
<tr class="highlight">
<td>Holding library</td>
<td><input type="radio" name="Line" value="items.holdingbranch" /></td>
<td><input type="radio" name="Column" value="items.holdingbranch" /></td>
<td><select name="filter_items.holdingbranch" id="holdingbranch">
<option value=""> </option>
[% FOREACH branchloo IN branchloop %]
[% IF ( branchloo.selected ) %]<option value="[% branchloo.value %]" selected="selected">[% branchloo.branchname %]</option>[% ELSE %]<option value="[% branchloo.value %]">[% branchloo.branchname %]</option>[% END %]
[% END %]
</select>
</td>
</tr>
<tr>
<td>Home library</td>
<td><input type="radio" name="Line" value="items.homebranch" /></td>
<td><input type="radio" name="Column" value="items.homebranch" /></td>
<td><select name="filter_items.homebranch" id="homebranch">
<option value=""> </option>
[% FOREACH branchloo IN branchloop %]
[% IF ( branchloo.selected ) %]<option value="[% branchloo.value %]" selected="selected">[% branchloo.branchname %]</option>[% ELSE %]<option value="[% branchloo.value %]">[% branchloo.branchname %]</option>[% END %]
[% END %]
</select>
</td>
</tr>
<tr class="highlight">
<td>Collection</td>
<td><input type="radio" name="Line" value="items.ccode" /></td>
<td><input type="radio" name="Column" value="items.ccode" /></td>
<td><select name="filter_items.ccode" id="ccode">
<option value=""> </option>
[% FOREACH ccodeloo IN ccodeloop %]
[% IF ( ccodeloo.selected ) %] <option value="[% ccodeloo.code %]" selected="selected">[% ccodeloo.description %]</option>[% ELSE %]<option value="[% ccodeloo.code %]">[% ccodeloo.description %]</option>[% END %]
[% END %]
</select>
</td>
</tr>
<tr>
<td>Shelving location</td>
<td><input type="radio" name="Line" value="items.location" /></td>
<td><input type="radio" name="Column" value="items.location" /></td>
<td><select name="filter_items.location" id="location">
<option value=""> </option>
[% FOREACH locationloo IN locationloop %]
[% IF ( locationloo.selected ) %]<option value="[% locationloo.code %]" selected="selected">[% locationloo.description %]</option>[% ELSE %]<option value="[% locationloo.code %]">[% locationloo.description %]</option>[% END %]
[% END %]
</select>
</td>
</tr>
<tr class="highlight">
<td>Item call number</td>
<td></td>
<td></td>
<td>From <input type="text" name="filter_items.itemcallnumber_begin" size="10" /> (inclusive) to <input type="text" name="filter_items.itemcallnumber_endex" size="10" /> (exclusive) </td>
</tr>
[% IF ( hassort1 ) %]
<tr><td>Patron sort 1</td>
<td><input type="radio" name="Line" value="borrowers.sort1" /></td>
<td><input type="radio" name="Column" value="borrowers.sort1" /></td>
<td><select name="filter_borrowers.sort1" id="sort1">
<option value=""> </option>
[% FOREACH Bsort IN Bsort1 %]
[% IF ( Bsort.selected ) %]<option value="[% Bsort.authorised_value %]" selected="selected">[% Bsort.lib %]</option>[% ELSE %]<option value="[% Bsort.authorised_value %]" >[% Bsort.lib %]</option>[% END %]
[% END %]
</select>
</td>
</tr>
[% END %]
[% IF ( hassort2 ) %]
<tr class="highlight"><td>Patron sort 2</td>
<td><input type="radio" name="Line" value="borrowers.sort2" /></td>
<td><input type="radio" name="Column" value="borrowers.sort2" /></td>
<td><select name="filter_borrowers.sort2" id="sort2">
<option value=""> </option>
[% FOREACH Bsort IN Bsort2 %]
[% IF ( Bsort.selected ) %]<option value="[% Bsort.authorised_value %]" selected="selected">[% Bsort.lib %]</option>[% ELSE %]<option value="[% Bsort.authorised_value %]" >[% Bsort.lib %]</option>[% END %]
[% END %]
</select>
</td>
</tr>
[% END %]
</tbody>
</table><br /></fieldset>
<fieldset class="rows"><legend>Cell value </legend><ol><li><label for="cellvalue1">Count holds</label> <input type="radio" name="Cellvalue" value="1" id="cellvalue1" checked="checked" /> </li>
<li><label for="cellvalue2">Count unique borrowers</label> <input type="radio" name="Cellvalue" value="2" id="cellvalue2" /> </li><li><label for="cellvalue3">Count unique items</label> <input type="radio" name="Cellvalue" id="cellvalue3" value="3" /> </li><li><label for="cellvalue4">Count unique biblios</label> <input type="radio" name="Cellvalue" id="cellvalue4" value="4" /> </li></ol></fieldset>
<fieldset class="rows">
<legend>Output</legend>
<ol>
<li>
<label for="outputscreen">To screen into the browser: </label><input type="radio" checked="checked" name="output" id="outputscreen" value="screen" />
</li>
<li>
<label for="outputfile">To a file:</label> <input type="radio" name="output" value="file" id="outputfile" />
<label class="inline" for="basename">Named: </label><input type="text" name="basename" id="basename" value="Export" />
<label class="inline" for="MIME">Into an application</label>
<select name="MIME" id="MIME" size="1">
[% FOREACH value IN CGIextChoice %]
<option value="[% value %]">[% value %]</option>
[% END %]
</select>
<select name="sep" id="sep" size="1">
[% FOREACH value IN CGIsepChoice.values.sort() %]
[% IF ( value == CGIsepChoice.default ) %]
<option value="[% value %]" selected="selected">[% value %]</option>
[% ELSE %]
<option value="[% value %]">[% value %]</option>
[% END %]
[% END %]
</select>
</li>
</ol>
</fieldset>
<fieldset class="action">
<input type="submit" value="Submit" />
<input type="hidden" name="report_name" value="[% report_name %]" />
<input type="hidden" name="do_it" value="1" />
</fieldset>
</form>
[% END %]
</div>
</div>
<div class="yui-b">
[% INCLUDE 'reports-menu.inc' %]
</div>
</div>
[% INCLUDE 'intranet-bottom.inc' %]