+[% USE Branches %]
+[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
-<title>Koha › Reports › Average checkout period</title>
+<title>Koha › Reports › Average loan time</title>
[% INCLUDE 'doc-head-close.inc' %]
-[% INCLUDE 'calendar.inc' %]
</head>
-<body>
+
+<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 Checkout Period</a> › Results [% ELSE %]› Average Checkout Period[% END %]</div>
+<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 id="doc3" class="yui-t2">
-
- <div id="bd">
- <div id="yui-main">
- <div class="yui-b">
+<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>
+ <h1>Average checkout period</h1>
[% IF ( mainloo.loopfilter ) %]
- <p>Filtered on</p>
+ <p>Filtered on:</p>
[% FOREACH loopfilte IN mainloo.loopfilter %]
- <p>[% IF ( loopfilte.err ) %] [% END %] [% loopfilte.crit %] =[% loopfilte.filter %][% IF ( loopfilte.err ) %] [% END %]</p>
+ <p>[% IF ( loopfilte.err ) %] [% END %] [% loopfilte.crit | html %] =[% loopfilte.filter | html %][% IF ( loopfilte.err ) %] [% END %]</p>
[% END %]
[% END %]
<table>
<tr>
- <th>[% mainloo.line %] / [% mainloo.column %]</th>
+ <th>[% mainloo.line | html %] / [% mainloo.column | html %]</th>
[% FOREACH loopco IN mainloo.loopcol %]
- <th>[% loopco.coltitle %]</th>
+ <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 %]</td>
+ [% loopro.rowtitle | html %]</td>
[% FOREACH loopcel IN loopro.loopcell %]
[% IF ( loopcel.hilighted ) %]<td class="hilighted">[% ELSE %]<td>[% END %]
- [% IF ( loopcel.value ) %][% loopcel.value %][% END %]
+ [% IF ( loopcel.value ) %][% loopcel.value | html %][% END %]
</td>
[% END %]
[% IF ( loopro.hilighted ) %]<td>[% ELSE %]<td>[% END %]
- [% loopro.totalrow %]
+ [% loopro.totalrow | html %]
</td>
</tr>
[% END %]
<th>TOTAL</th>
[% FOREACH loopfoote IN mainloo.loopfooter %]
<th>
- [% loopfoote.totalcol %]
+ [% loopfoote.totalcol | html %]
</th>
[% END %]
- <th>[% mainloo.total %]</th>
+ <th>[% mainloo.total | html %]</th>
</tr>
</table>
[% END %]
<tr class="hilighted">
<td>Checkout date</td>
<td><input type="radio" name="Line" value="timestamp" /></td>
- <td><input type="radio" name="Column" 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" />
- <img src="[% themelang %]/lib/calendar/cal.gif" alt="Show Calendar" border="0" id="openCalendarFrom" style="cursor: pointer;" />
- <script language="JavaScript" type="text/javascript">
- function validate1(date) {
- var day = date.getDate();
- var month = date.getMonth() + 1;
- var year = date.getFullYear();
- var weekDay = date.getDay();
- var dayMonth = month + '-' + day;
- var dateString = year + '-' + month + '-' + day;
- var dateTo = document.getElementById('to').value.split("-");
- var limitDate = new Date(dateTo[0], (dateTo[1] - 1), dateTo[2]);
- if (date > limitDate) {
- return true;
- } else {
- return false;
- }
- }
-
- Calendar.setup(
- {
- inputField : "from",
- ifFormat : "[% DHTMLcalendar_dateformat %]",
- button : "openCalendarFrom",
- disableFunc : validate1,
- dateStatusFunc : validate1
- }
- );
- </script>
<label for="to">To</label> <input size="10" id="to" name="Filter" value="" type="text" />
- <img src="[% themelang %]/lib/calendar/cal.gif" alt="Show Calendar" id="openCalendarTo" style="cursor: pointer;" border="0" />
- <script type="text/javascript">
- function validate2(date) {
- var day = date.getDate();
- var month = date.getMonth() + 1;
- var year = date.getFullYear();
- var weekDay = date.getDay();
- var dayMonth = month + '-' + day;
- var dateString = year + '-' + month + '-' + day;
- var dateFrom = document.getElementById('from').value.split("-");
- var limitDate = new Date(dateFrom[0], (dateFrom[1] - 1), dateFrom[2]);
- if (limitDate > date) {
- return true;
- } else {
- return false;
- }
- }
-
- Calendar.setup(
- {
- inputField : "to",
- ifFormat : "[% DHTMLcalendar_dateformat %]",
- button : "openCalendarTo",
- disableFunc : validate2,
- dateStatusFunc : validate2
- }
- );
- </script> <span class="hint">[% INCLUDE 'date-format.inc' %]</span>
+ <span class="hint">[% INCLUDE 'date-format.inc' %]</span>
</td>
</tr>
<tr class="hilighted">
<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" />
- <img src="[% themelang %]/lib/calendar/cal.gif" alt="Show Calendar" border="0" id="openCalendarFromRO" style="cursor: pointer;" />
- <script language="JavaScript" type="text/javascript">
- function validate1(date) {
- var day = date.getDate();
- var month = date.getMonth() + 1;
- var year = date.getFullYear();
- var weekDay = date.getDay();
- var dayMonth = month + '-' + day;
- var dateString = year + '-' + month + '-' + day;
- var dateTo = document.getElementById('toRO').value.split("-");
- var limitDate = new Date(dateTo[0], (dateTo[1] - 1), dateTo[2]);
- if (date > limitDate) {
- return true;
- } else {
- return false;
- }
- }
-
- Calendar.setup(
- {
- inputField : "fromRO",
- ifFormat : "[% DHTMLcalendar_dateformat %]",
- button : "openCalendarFromRO",
- disableFunc : validate1,
- dateStatusFunc : validate1
- }
- );
- </script>
<label for="toRO">To</label> <input type="text" size="10" id="toRO" name="Filter" value="" />
- <img src="[% themelang %]/lib/calendar/cal.gif" alt="Show Calendar" id="openCalendarToRO" style="cursor: pointer;" border="0" />
- <script type="text/javascript">
- function validate2(date) {
- var day = date.getDate();
- var month = date.getMonth() + 1;
- var year = date.getFullYear();
- var weekDay = date.getDay();
- var dayMonth = month + '-' + day;
- var dateString = year + '-' + month + '-' + day;
- var dateFrom = document.getElementById('fromRO').value.split("-");
- var limitDate = new Date(dateFrom[0], (dateFrom[1] - 1), dateFrom[2]);
- if (limitDate > date) {
- return true;
- } else {
- return false;
- }
- }
-
- Calendar.setup(
- {
- inputField : "toRO",
- ifFormat : "[% DHTMLcalendar_dateformat %]",
- button : "openCalendarToRO",
- disableFunc : validate2,
- dateStatusFunc : validate2
- }
- );
- </script> <span class="hint">[% INCLUDE 'date-format.inc' %]</span>
+ <span class="hint">[% INCLUDE 'date-format.inc' %]</span>
</td>
</tr>
<tr>
</tr>
<tr class="hilighted">
<td>Patron category</td>
- <td><input type="radio" name="Line" value="borrowers.categorycode" /></td>
+ <td><input type="radio" checked="checked" name="Line" value="borrowers.categorycode" /></td>
<td><input type="radio" name="Column" value="borrowers.categorycode" /></td>
- <td>[% CGIBorCat %]</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 >[% CGIItemType %]</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>[% CGIBranch %]</td>
+ <td>
+ <select name="Filter" size="1" id="branch">
+ <option value=""></option>
+ [% PROCESS options_for_libraries libraries => Branches.all() %]
+ </select>
+ </td>
</tr>
-<!-- Modified according to statistics table
- <tr>
- <td>Issuing Library</td>
- <td><input type="radio" name="Line" value="issuingbranch"></td>
- <td><input type="radio" name="Column" value="issuingbranch"></td>
- <td >[% CGIBranch %]</td>
- </tr> -->
-<!--End Modified -->
[% 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>[% CGISort1 %] </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 ) %]
<td>Sort2</td>
<td><input type="radio" name="Line" value="borrowers.sort2" /></td>
<td><input type="radio" name="Column" value="borrowers.sort2" /></td>
- <td>[% CGISort2 %] </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>
<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>[% CGIextChoice %]
- [% CGIsepChoice %]</li></ol>
+ <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 %]" />
+ <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 %]
-</div>
-</div>
-<div class="yui-b">
-[% INCLUDE 'reports-menu.inc' %]
-</div>
-</div>
+ </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' %]