Main Koha release repository
https://koha-community.org
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
271 lines
10 KiB
271 lines
10 KiB
[% USE Branches %]
|
|
[% SET footerjs = 1 %]
|
|
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Koha › Reports › Average loan time</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
</head>
|
|
|
|
<body id="rep_issues_avg_stats" class="rep">
|
|
[% INCLUDE 'header.inc' %]
|
|
[% INCLUDE 'cat-search.inc' %]
|
|
|
|
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/reports/reports-home.pl">Reports</a> [% IF ( do_it ) %]› <a href="/cgi-bin/koha/reports/issues_avg_stats.pl">Average loan time</a> › Results [% ELSE %]› Average loan time[% END %]</div>
|
|
|
|
<div class="main container-fluid">
|
|
<div class="row">
|
|
<div class="col-sm-10 col-sm-push-2">
|
|
<main>
|
|
|
|
[% IF ( do_it ) %]
|
|
[% FOREACH mainloo IN mainloop %]
|
|
<h1>Average checkout period</h1>
|
|
[% IF ( mainloo.loopfilter ) %]
|
|
<p>Filtered on:</p>
|
|
[% FOREACH loopfilte IN mainloo.loopfilter %]
|
|
<p>[% IF ( loopfilte.err ) %] [% END %] [% loopfilte.crit | html %] =[% loopfilte.filter | html %][% IF ( loopfilte.err ) %] [% END %]</p>
|
|
[% END %]
|
|
[% END %]
|
|
|
|
<table>
|
|
<tr>
|
|
<th>[% mainloo.line | html %] / [% mainloo.column | html %]</th>
|
|
[% FOREACH loopco IN mainloo.loopcol %]
|
|
<th>[% loopco.coltitle | html %]</th>
|
|
[% END %]
|
|
<th>TOTAL</th>
|
|
</tr>
|
|
[% FOREACH loopro IN mainloo.looprow %]
|
|
<tr>
|
|
[% IF ( loopro.hilighted ) %]<td class="hilighted">[% ELSE %]<td>[% END %]
|
|
[% loopro.rowtitle | html %]</td>
|
|
[% FOREACH loopcel IN loopro.loopcell %]
|
|
[% IF ( loopcel.hilighted ) %]<td class="hilighted">[% ELSE %]<td>[% END %]
|
|
[% IF ( loopcel.value ) %][% loopcel.value | html %][% END %]
|
|
</td>
|
|
[% END %]
|
|
[% IF ( loopro.hilighted ) %]<td>[% ELSE %]<td>[% END %]
|
|
[% loopro.totalrow | html %]
|
|
</td>
|
|
</tr>
|
|
[% END %]
|
|
<tr>
|
|
<th>TOTAL</th>
|
|
[% FOREACH loopfoote IN mainloo.loopfooter %]
|
|
<th>
|
|
[% loopfoote.totalcol | html %]
|
|
</th>
|
|
[% END %]
|
|
<th>[% mainloo.total | html %]</th>
|
|
</tr>
|
|
</table>
|
|
[% END %]
|
|
[% ELSE %]
|
|
|
|
<form method="post" action="/cgi-bin/koha/reports/issues_avg_stats.pl">
|
|
<fieldset class="rows">
|
|
<legend>Average checkout period statistics</legend>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Title</th>
|
|
<th>Row</th>
|
|
<th>Column</th>
|
|
<th>Filter</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="hilighted">
|
|
<td>Checkout date</td>
|
|
<td><input type="radio" name="Line" value="timestamp" /></td>
|
|
<td><input type="radio" checked="checked" name="Column" value="timestamp" /></td>
|
|
<td > <label for="from">From</label> <input type="text" size="10" id="from" name="Filter" />
|
|
<label for="to">To</label> <input size="10" id="to" name="Filter" value="" type="text" />
|
|
<span class="hint">[% INCLUDE 'date-format.inc' %]</span>
|
|
</td>
|
|
</tr>
|
|
<tr class="hilighted">
|
|
<td> </td>
|
|
<td colspan="2">by <select name="IssueDisplay">
|
|
<option value=""> </option>
|
|
<option value ="1">Day</option>
|
|
<option value ="2">Month</option>
|
|
<option value ="3">Year</option>
|
|
</select>
|
|
|
|
</td>
|
|
<td><!--Preparing Month and Day Selection--><input type="hidden" name="Filter" value="" /><input type="hidden" name="Filter" value="" /></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Returns</td>
|
|
<td><input type="radio" name="Line" value="returndate" /></td>
|
|
<td><input type="radio" name="Column" value="returndate" /></td>
|
|
<td > <label for="fromRO">From</label> <input type="text" size="10" id="fromRO" name="Filter" />
|
|
<label for="toRO">To</label> <input type="text" size="10" id="toRO" name="Filter" value="" />
|
|
<span class="hint">[% INCLUDE 'date-format.inc' %]</span>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td> </td>
|
|
<td colspan="2">by <select name="ReturnDisplay">
|
|
<option value=""> </option>
|
|
<option value ="1">Day</option>
|
|
<option value ="2">Month</option>
|
|
<option value ="3">Year</option>
|
|
</select>
|
|
|
|
</td>
|
|
<td><input type="hidden" name="Filter" value="" /><input type="hidden" name="Filter" value="" /></td>
|
|
</tr>
|
|
<tr class="hilighted">
|
|
<td>Patron category</td>
|
|
<td><input type="radio" checked="checked" name="Line" value="borrowers.categorycode" /></td>
|
|
<td><input type="radio" name="Column" value="borrowers.categorycode" /></td>
|
|
<td>
|
|
<select name="Filter" size="1" id="borcat">
|
|
<option value=""></option>
|
|
[% FOREACH patron_category IN patron_categories %]
|
|
<option value="[%- patron_category.categorycode | html -%]">[%- patron_category.description | html -%]</option>
|
|
[% END %]
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Item type</td>
|
|
<td><input type="radio" name="Line" value="itemtype" /></td>
|
|
<td><input type="radio" name="Column" value="itemtype" /></td>
|
|
<td>
|
|
<select name="Filter" size="1" id="itemtypes">
|
|
<option value=""></option>
|
|
[% FOREACH itemtype IN itemtypes %]
|
|
<option value="[%- itemtype.itemtype | html -%]">[%- itemtype.translated_description | html -%]</option>
|
|
[% END %]
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
<tr class="hilighted">
|
|
<td>Library</td>
|
|
<td><input type="radio" name="Line" value="branchcode" /></td>
|
|
<td><input type="radio" name="Column" value="branchcode" /></td>
|
|
<td>
|
|
<select name="Filter" size="1" id="branch">
|
|
<option value=""></option>
|
|
[% PROCESS options_for_libraries libraries => Branches.all() %]
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
[% IF ( hassort1 ) %]
|
|
<tr class="hilighted">
|
|
<td>Sort1</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" size="1" id="sort1">
|
|
<option value=""></option>
|
|
[%- FOREACH value IN Sort1.values %]
|
|
<option value="[%- value | html -%]">[%- value | html -%]</option>
|
|
[%- END %]
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
[% END %]
|
|
[% IF ( hassort2 ) %]
|
|
[% IF ( HglghtSort2 ) %]<tr class="hilighted"> [% ELSE %]<tr>[% END %]
|
|
<td>Sort2</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" size="1" id="sort2">
|
|
<option value=""></option>
|
|
[%- FOREACH value IN Sort2.values %]
|
|
<option value="[%- value | html -%]">[%- value | html -%]</option>
|
|
[%- END %]
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
[% END %]
|
|
</tbody>
|
|
</table><br /></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" size="1" id="MIME">
|
|
<option value="CSV">CSV</option>
|
|
</select>
|
|
<select name="sep" id="sep" size="1">
|
|
[% FOREACH value IN CGIsepChoice.values.sort() %]
|
|
[% IF ( value == CGIsepChoice.default ) %]
|
|
<option value="[% value | html %]" selected="selected">[% value | html %]</option>
|
|
[% ELSE %]
|
|
<option value="[% value | html %]">[% value | html %]</option>
|
|
[% END %]
|
|
[% END %]
|
|
</select>
|
|
</li>
|
|
</ol>
|
|
</fieldset>
|
|
|
|
<fieldset class="action">
|
|
<input type="hidden" name="Filter" value="" />
|
|
<input type="hidden" name="report_name" value="[% report_name | html %]" />
|
|
<input type="hidden" name="do_it" value="1" />
|
|
<input type="submit" value="Submit" />
|
|
</fieldset>
|
|
</form>
|
|
[% END %]
|
|
|
|
</main>
|
|
</div> <!-- /.col-sm-10.col-sm-push-2 -->
|
|
|
|
<div class="col-sm-2 col-sm-pull-10">
|
|
<aside>
|
|
[% INCLUDE 'reports-menu.inc' %]
|
|
</aside>
|
|
</div> <!-- /.col-sm-2.col-sm-pull-10 -->
|
|
</div> <!-- /.row -->
|
|
|
|
|
|
[% MACRO jsinclude BLOCK %]
|
|
[% INCLUDE 'calendar.inc' %]
|
|
<script>
|
|
$(document).ready(function() {
|
|
// http://jqueryui.com/demos/datepicker/#date-range
|
|
var dates = $( "#from, #to" ).datepicker({
|
|
changeMonth: true,
|
|
numberOfMonths: 1,
|
|
onSelect: function( selectedDate ) {
|
|
var option = this.id == "from" ? "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 datesRO = $( "#fromRO, #toRO" ).datepicker({
|
|
changeMonth: true,
|
|
numberOfMonths: 1,
|
|
onSelect: function( selectedDate ) {
|
|
var option = this.id == "fromRO" ? "minDate" : "maxDate",
|
|
instance = $( this ).data( "datepicker" );
|
|
date = $.datepicker.parseDate(
|
|
instance.settings.dateFormat ||
|
|
$.datepicker._defaults.dateFormat,
|
|
selectedDate, instance.settings );
|
|
datesRO.not( this ).datepicker( "option", option, date );
|
|
}
|
|
});
|
|
});
|
|
</script>
|
|
[% END %]
|
|
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|
|
|