+[% USE Branches %]
+[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
-<title>Koha › Reports › Circulation statistics [% IF ( do_it ) %]› Results[% END %]</title>
+<title>Circulation statistics[% IF ( do_it ) %] › Results[% END %] › Reports › Koha</title>
[% INCLUDE 'doc-head-close.inc' %]
-[% INCLUDE 'calendar.inc' %]
-<style type="text/css">
+<style>
.sql {display:none;}
</style>
</head>
+
<body id="rep_issues_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_stats.pl">Circulation statistics</a> › Results [% ELSE %]› Circulation statistics[% END %]</div>
-
-<div id="doc3" class="yui-t2">
+<nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb">
+ <ol>
+ <li>
+ <a href="/cgi-bin/koha/mainpage.pl">Home</a>
+ </li>
+ <li>
+ <a href="/cgi-bin/koha/reports/reports-home.pl">Reports</a>
+ </li>
+ [% IF ( do_it ) %]
+ <li>
+ <a href="/cgi-bin/koha/reports/issues_stats.pl">Circulation statistics</a>
+ </li>
+ <li>
+ <a href="#" aria-current="page">
+ Results
+ </a>
+ </li>
+ [% ELSE %]
+ <li>
+ <a href="#" aria-current="page">
+ Circulation statistics
+ </a>
+ </li>
+ [% END %]
+ </ol>
+</nav>
- <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>Circulation statistics</h1>
[% IF ( mainloo.loopfilter ) %]
- <p>Filtered on</p>
+ <p>Filtered on:</p>
<ul>
[% FOREACH loopfilte IN mainloo.loopfilter %]
- [% IF ( loopfilte.err ) %]<li class="error">Error:
- [% ELSIF ( loopfilte.sql ) %]<li class="sql">
- [% ELSE %]<li>
- [% END %]
- [% loopfilte.crit %] [% loopfilte.filter %]
+ [% IF ( loopfilte.err ) %]
+ <li class="error">Error:
+ [% ELSIF ( loopfilte.sql ) %]
+ <li class="sql">
+ [% ELSE %]
+ <li>
+ [% END %]
+ [% SWITCH loopfilte.crit %]
+ [% CASE 0 %]Period from
+ [% CASE 1 %]Period to
+ [% CASE 2 %]Patron category =
+ [% CASE 3 %]Item type =
+ [% CASE 4 %]Issuing library =
+ [% CASE 5 %]Collection =
+ [% CASE 6 %]Location =
+ [% CASE 7 %]Item call number >=
+ [% CASE 8 %]Item call number <
+ [% CASE 9 %]Patron sort1 =
+ [% CASE 10 %]Patron sort2 =
+ [% CASE 11 %]Home library =
+ [% CASE 12 %]Holding library =
+ [% CASE 13 %]Patron library =
+ [% CASE 14 %]Issuing library =
+ [% CASE %][% loopfilte.crit | html %] =
+ [% END %]
+ [% loopfilte.filter | html %]
</li>
[% END %]
</ul>
<table>
<tr>
- <th>[% mainloo.line %] / [% mainloo.column %]</th>
+ <th>[% mainloo.line | html %] / [% mainloo.column | html %]</th>
[% FOREACH loopco IN mainloo.loopcol %]
- <th>[% loopco.coltitle_display |html %]</th>
+ <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>
+ <td>[% loopro.rowtitle_display or "UNKNOWN VALUE" | html %]</td>
[% FOREACH loopcel IN loopro.loopcell %]
- <td>[% loopcel.value %]</td>
+ <td>[% loopcel.value || 0 | html %]</td>
[% END %]
- <td>[% loopro.totalrow %]</td>
+ <td>[% loopro.totalrow | html %]</td>
</tr>
[% END %]
<tr>
<th>TOTAL</th>
[% FOREACH loopfoote IN mainloo.loopfooter %]
- <th>[% loopfoote.totalcol %]</th>
+ <th>[% loopfoote.totalcol | html %]</th>
[% END %]
- <th>[% mainloo.total %]</th>
+ <th>[% mainloo.total | html %]</th>
</tr>
</table>
[% END %]
<td>Period</td>
<td><input type="radio" name="Line" value="datetime" /></td>
<td><input type="radio" name="Column" value="datetime" /></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 type="text/javascript">
- //<![CDATA[
- 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">
- //<![CDATA[
- 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>
- </td>
- </tr>
- <tr class="highlight">
+ <td>
+ <label for="from">From</label>
+ <input type="text" size="10" id="from" name="Filter" class="flatpickr" data-date_to="to" />
+ <label for="to">To</label>
+ <input size="10" id="to" name="Filter" value="" type="text" class="flatpickr" />
+ <span class="hint">[% INCLUDE 'date-format.inc' %]</span>
+ </td>
+ </tr>
+ <tr>
<td><label for="PeriodTypeSel">Type:</label><select name="PeriodTypeSel" id="PeriodTypeSel">
<option value ="issue">Checkout</option>
<option value ="renew">Renewal</option>
<option value ="return">Checkin</option>
- <option value ="localuse">Local Use</option>
+ <option value ="localuse">Local use</option>
</select></td>
<td colspan="2"><label for="DisplayBy">group by</label> <select name="DisplayBy" id="DisplayBy">
<option value="">None</option>
+ <option value ="4">Hour</option>
<option value ="1">Day of week</option>
<option value ="2">Month</option>
<option value ="3">Year</option>
</select>
</td>
<td>
- <label for="PeriodDaySel">Select Day: </label><select name="PeriodDaySel" id="PeriodDaySel">
+ <label for="PeriodDaySel">Select day: </label><select name="PeriodDaySel" id="PeriodDaySel">
<option value =""></option>
<option value ="Monday">Monday</option>
<option value ="Tuesday">Tuesday</option>
<option value ="Saturday">Saturday</option>
<option value ="Sunday">Sunday</option>
</select>
- <label for="PeriodMonthSel">Select Month:</label> <select name="PeriodMonthSel" id="PeriodMonthSel">
+ <label for="PeriodMonthSel">Select month:</label> <select name="PeriodMonthSel" id="PeriodMonthSel">
<option value =""></option>
<option value ="January">January</option>
<option value ="February">February</option>
</td>
</tr>
<tr>
- <td>Patron Category</td>
+ <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" 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 %]
+ <option value="[% categoryloo.categorycode | html %]">[% categoryloo.description | html %]</option>
[% END %]
</select>
</td>
</tr>
- <tr class="highlight">
- <td>Item Type</td>
+ <tr>
+ <td>Item type</td>
<td><input type="radio" name="Line" value="itemtype" /></td>
- <td><input type="radio" name="Column" value="itemtype" /></td>
+ <td><input type="radio" checked="checked" name="Column" value="itemtype" /></td>
<td><select name="Filter" id="itemtype">
<option value=""> </option>
- [% FOREACH itemtypeloo IN itemtypeloop %]
- [% IF ( itemtypeloo.selected ) %]<option value="[% itemtypeloo.code %]" selected="selected">[% itemtypeloo.description %]</option>[% ELSE %]<option value="[% itemtypeloo.code %]">[% itemtypeloo.description %]</option>[% END %]
+ [% FOREACH itemtype IN itemtypes %]
+ <option value="[% itemtype.itemtype | html %]">[% itemtype.translated_description | html %]</option>
[% END %]
</select>
</td>
</tr>
<tr>
- <td>Library</td>
- <td><input type="radio" name="Line" value="branch" /></td>
+ <td>Issuing library</td>
+ <td><input type="radio" checked="checked" name="Line" value="branch" /></td>
<td><input type="radio" name="Column" value="branch" /></td>
<td><select name="Filter" id="branch">
- <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 %]
+ <option value=""> </option>
+ [% PROCESS options_for_libraries libraries => Branches.all() %]
</select>
</td>
</tr>
- <tr class="highlight">
+ <tr>
<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" 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 %]
+ <option value="[% ccodeloo.code | html %]">[% ccodeloo.description | html %]</option>
[% END %]
</select>
</td>
</tr>
<tr>
- <td>Shelving Location</td>
+ <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" 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 %]
+ <option value="[% locationloo.code | html %]">[% locationloo.description | html %]</option>
+ [% END %]
</select>
</td>
</tr>
- <tr class="highlight">
- <td>Item Call Number</td>
+ <tr>
+ <td>Item call number</td>
<td></td>
<td></td>
<td>From <input type="text" name="Filter" size="10" /> (inclusive) to <input type="text" name="Filter" size="10" /> (exclusive) </td>
</tr>
[% IF ( hassort1 ) %]
- <tr><td>Patron sort1</td>
+ <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" 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 %]
+ <option value="[% Bsort.authorised_value | html %]" >[% Bsort.lib | html %]</option>
[% END %]
</select>
</td>
</tr>
[% END %]
[% IF ( hassort2 ) %]
- <tr class="highlight"><td>Patron sort2</td>
+ <tr><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" 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 %]
+ <option value="[% Bsort.authorised_value | html %]" >[% Bsort.lib | html %]</option>
[% END %]
</select>
</td>
<td><input type="radio" name="Column" value="items.homebranch" /></td>
<td><select name="Filter" 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 %]
+ [% PROCESS options_for_libraries libraries => Branches.all() %]
</select>
</td>
</tr>
<td><input type="radio" name="Column" value="items.holdingbranch" /></td>
<td><select name="Filter" 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 %]
+ [% PROCESS options_for_libraries libraries => Branches.all() %]
</select>
</td>
</tr>
+ <tr>
+ <td>Patron library</td>
+ <td><input type="radio" name="Line" value="borrowers.branchcode" /></td>
+ <td><input type="radio" name="Column" value="borrowers.branchcode" /></td>
+ <td>
+ <select name="Filter" id="patronbranch">
+ <option value=""> </option>
+ [% FOREACH branch IN branchloop %]
+ <option value="[% branch.value | html %]">
+ [% branch.branchname | html %]
+ </option>
+ [% END %]
+ </select>
+ </td>
+ </tr>
+ [% IF (attribute_types_by_class.keys.size) %]
+ <tr>
+ <th colspan="4">Patron attributes</th>
+ </tr>
+ [% FOREACH class IN attribute_types_by_class.keys.sort %]
+ [% IF (class) %]
+ <tr>
+ <th>[% class | html %]</th>
+ <th colspan="3"></th>
+ </tr>
+ [% END %]
+ [% FOREACH attr_type IN attribute_types_by_class.$class %]
+ <tr>
+ <td>[% attr_type.description | html %]</td>
+ <td><input type="radio" name="Line" value="borrower_attributes.[% attr_type.code | html %]" /> </td>
+ <td><input type="radio" name="Column" value="borrower_attributes.[% attr_type.code | html %]" /> </td>
+ <td>
+ [% IF attr_type.authorised_value_category %]
+ <select name="Filter_borrower_attributes.[% attr_type.code | html %]">
+ <option value=""> </option>
+ [% FOREACH av IN attr_type.authorised_values %]
+ <option value="[% av.authorised_value | html %]">
+ [% av.lib | html %]
+ </option>
+ [% END %]
+ </select>
+ [% ELSE %]
+ <input type="text" name="Filter_borrower_attributes.[% attr_type.code | html %]" />
+ [% END %]
+ </td>
+ </tr>
+ [% END %]
+ [% END %]
+ [% END %]
</tbody>
</table><br /></fieldset>
-<fieldset class="rows"><legend>Cell value </legend><ol><li><label for="cellvalue1">Count total items</label> <input type="radio" name="Cellvalue" value="1" id="cellvalue1" checked="checked" /> </li>
- <li><label for="cellvalue3">Count unique items</label> <input type="radio" name="Cellvalue" id="cellvalue3" value="3" /> </li></ol></fieldset>
+<fieldset class="rows">
+ <legend>Cell value</legend>
+ <ol>
+ <li>
+ <label for="cellvalue1">Count total items:</label>
+ <input type="radio" name="Cellvalue" value="1" id="cellvalue1" checked="checked" />
+ </li>
+ <li>
+ <label for="cellvalue3">Count unique items:</label>
+ <input type="radio" name="Cellvalue" id="cellvalue3" value="3" />
+ </li>
+ <li>
+ <label for="cellvalue5">Count unique bibliographic records:</label>
+ <input type="radio" name="Cellvalue" id="cellvalue5" value="5" />
+ </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>[% 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" id="MIME">
+ [% FOREACH value IN CGIextChoice %]
+ <option value="[% value | html %]">[% value | html %]</option>
+ [% END %]
+ </select>
+ <select name="sep" id="sep">
+ [% 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="submit" value="Submit" />
- <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" />
</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' %]
+[% END %]
+
[% INCLUDE 'intranet-bottom.inc' %]