3 [% PROCESS 'i18n.inc' %]
5 [% INCLUDE 'doc-head-open.inc' %]
6 <title>[% FILTER collapse %]
8 [% t("Results") | html %] ›
10 [% t("Holds statistics") | html %] ›
11 [% t("Reports") | html %] ›
12 [% t("Koha") | html %]
14 [% INCLUDE 'doc-head-close.inc' %]
20 [% BLOCK reservestatus %]
21 [% IF field == 'reservestatus' %]
23 [% CASE 'C'%]Cancelled
33 <body id="rep_reserve_stats" class="rep">
34 [% WRAPPER 'header.inc' %]
35 [% INCLUDE 'cat-search.inc' %]
38 [% WRAPPER 'sub-header.inc' %]
39 [% WRAPPER breadcrumbs %]
40 [% WRAPPER breadcrumb_item %]
41 <a href="/cgi-bin/koha/reports/reports-home.pl">Reports</a>
44 [% WRAPPER breadcrumb_item %]
45 <a href="/cgi-bin/koha/reports/reserves_stats.pl">Holds statistics</a>
47 [% WRAPPER breadcrumb_item bc_active= 1 %]
51 [% WRAPPER breadcrumb_item bc_active= 1 %]
52 <span>Holds statistics</span>
55 [% END #/ WRAPPER breadcrumbs %]
56 [% END #/ WRAPPER sub-header.inc %]
58 <div class="main container-fluid">
60 <div class="col-sm-10 col-sm-push-2">
64 <h1>Holds statistics</h1>
67 [% IF ( loopfilter ) %]
70 [% FOREACH loopfilte IN loopfilter %]
71 [% IF ( loopfilte.err ) %]<li class="error">Error:
72 [% ELSIF ( loopfilte.sql ) %]<li class="sql">
75 [% loopfilte.crit | html %] [% loopfilte.filter | html %]
81 [% FOREACH mainloo IN mainloop %]
85 <th>[% mainloo.line | html %] / [% mainloo.column | html %]</th>
86 [% FOREACH loopco IN mainloo.loopcol %]
87 <th>[% PROCESS reservestatus field=mainloo.column value=loopco.coltitle_display %]</th>
91 [% FOREACH loopro IN mainloo.looprow %]
93 <td>[% PROCESS reservestatus field=mainloo.line value=loopro.rowtitle_display %]</td>
94 [% FOREACH loopcel IN loopro.loopcell %]
96 [% IF ( loopcel.url_complement ) %]<a href="reserves_stats.pl?output=[% loopcel.output | uri %]&[% loopcel.url_complement | uri %]">[% loopcel.value | html %]</a>[% ELSE %][% loopcel.value | html %][% END %]
99 <td align="center">[% loopro.totalrow | html %]</td>
104 [% FOREACH loopfoote IN mainloo.loopfooter %]
105 <th>[% loopfoote.totalcol | html %]</th>
107 <th>[% mainloo.total | html %]</th>
114 <form method="post" action="/cgi-bin/koha/reports/reserves_stats.pl">
115 <fieldset class="rows">
116 <legend>Holds statistics</legend><table>
127 <td>Hold status </td>
128 <td><input type="radio" name="Line" value="reservestatus" /></td>
129 <td><input type="radio" name="Column" value="reservestatus" checked="checked" /></td>
131 <input type="checkbox" name="filter_reservestatus_or_C" value="C" /> Cancelled
132 <input type="checkbox" name="filter_reservestatus_or_F" value="F" /> Filled
133 <input type="checkbox" name="filter_reservestatus_or_P" value="P" /> Placed
134 <input type="checkbox" name="filter_reservestatus_or_W" value="W" /> Waiting
139 <td><input type="radio" name="Line" value="reservedate" /></td>
140 <td><input type="radio" name="Column" value="reservedate" /></td>
142 <label for="filter_reservedate_begin">From</label>
143 <input type="text" size="10" id="filter_reservedate_begin" data-date_to="filter_reservedate_end" name="filter_reservedate_begin" class="flatpickr" />
145 <label for="filter_reservedate_end">To</label>
146 <input size="10" id="filter_reservedate_end" name="filter_reservedate_end" value="" type="text" class="flatpickr" />
150 <td>Notification date</td>
151 <td><input type="radio" name="Line" value="notificationdate" /></td>
152 <td><input type="radio" name="Column" value="notificationdate" /></td>
154 <label for="filter_notificationdate_begin">From</label>
155 <input type="text" size="10" id="filter_notificationdate_begin" name="filter_notificationdate_begin" data-date_to="filter_notificationdate_end" class="flatpickr" />
157 <label for="filter_notificationdate_end">To</label>
158 <input size="10" id="filter_notificationdate_end" name="filter_notificationdate_end" value="" type="text" class="flatpickr" />
162 <td>Reminder date</td>
163 <td><input type="radio" name="Line" value="reminderdate" /></td>
164 <td><input type="radio" name="Column" value="reminderdate" /></td>
166 <label for="filter_reminderdate_begin">From</label>
167 <input type="text" size="10" id="filter_reminderdate_begin" name="Filter" data-date_to="filter_reminderdate_end" class="flatpickr" />
169 <label for="filter_reminderdate_end">To</label>
170 <input size="10" id="filter_reminderdate_end" name="filter_reminderdate_end" value="" type="text" class="flatpickr" />
174 <td>Waiting date</td>
175 <td><input type="radio" name="Line" value="waitingdate" /></td>
176 <td><input type="radio" name="Column" value="waitingdate" /></td>
178 <label for="filter_waitingdate_begin">From</label>
179 <input type="text" size="10" id="filter_waitingdate_begin" name="filter_waitingdate_begin" data-date_to="filter_waitingdate_end" class="flatpickr" />
181 <label for="filter_waitingdate_end">To</label>
182 <input size="10" id="filter_waitingdate_end" name="filter_waitingdate_end" value="" type="text" class="flatpickr" />
186 <td>Cancellation date</td>
187 <td><input type="radio" name="Line" value="cancellationdate" /></td>
188 <td><input type="radio" name="Column" value="cancellationdate" /></td>
190 <label for="filter_cancellationdate_begin">From</label>
191 <input type="text" size="10" id="filter_cancellationdate_begin" name="filter_cancellationdate_begin" data-date_to="filter_cancellationdate_end" class="flatpickr" />
193 <label for="filter_cancellationdate_end">To</label>
194 <input size="10" id="filter_cancellationdate_end" name="filter_cancellationdate_end" value="" type="text" class="flatpickr" />
198 <td>Patron category</td>
199 <td><input type="radio" name="Line" value="borrowers.categorycode" /></td>
200 <td><input type="radio" name="Column" value="borrowers.categorycode" /></td>
201 <td><select name="filter_categorycode" id="borcat">
202 <option value=""> </option>
203 [% FOREACH categoryloo IN categoryloop %]
204 <option value="[% categoryloo.categorycode | html %]">[% categoryloo.description | html %]</option>
211 <td><input type="radio" name="Line" value="items.itype" /></td>
212 <td><input type="radio" name="Column" value="items.itype" /></td>
213 <td><select name="filter_items.itype" id="itype">
214 <option value=""> </option>
215 [% FOREACH itemtype IN itemtypes %]
216 <option value="[% itemtype.itemtype | html %]">[% itemtype.translated_description | html %]</option>
222 <td>Pickup library</td>
223 <td><input type="radio" name="Line" value="reserves.branchcode" checked="checked" /></td>
224 <td><input type="radio" name="Column" value="reserves.branchcode" /></td>
225 <td><select name="filter_reserves.branchcode" id="resbranchcode">
226 <option value=""> </option>
227 [% PROCESS options_for_libraries libraries => Branches.all() %]
232 <td>Holding library</td>
233 <td><input type="radio" name="Line" value="items.holdingbranch" /></td>
234 <td><input type="radio" name="Column" value="items.holdingbranch" /></td>
235 <td><select name="filter_items.holdingbranch" id="holdingbranch">
236 <option value=""> </option>
237 [% PROCESS options_for_libraries libraries => Branches.all() %]
242 <td>Home library</td>
243 <td><input type="radio" name="Line" value="items.homebranch" /></td>
244 <td><input type="radio" name="Column" value="items.homebranch" /></td>
245 <td><select name="filter_items.homebranch" id="homebranch">
246 <option value=""> </option>
247 [% PROCESS options_for_libraries libraries => Branches.all() %]
253 <td><input type="radio" name="Line" value="items.ccode" /></td>
254 <td><input type="radio" name="Column" value="items.ccode" /></td>
255 <td><select name="filter_items.ccode" id="ccode">
256 <option value=""> </option>
257 [% FOREACH ccodeloo IN ccodeloop %]
258 [% IF ( ccodeloo.selected ) %] <option value="[% ccodeloo.code | html %]" selected="selected">[% ccodeloo.description | html %]</option>[% ELSE %]<option value="[% ccodeloo.code | html %]">[% ccodeloo.description | html %]</option>[% END %]
264 <td>Shelving location</td>
265 <td><input type="radio" name="Line" value="items.location" /></td>
266 <td><input type="radio" name="Column" value="items.location" /></td>
267 <td><select name="filter_items.location" id="location">
268 <option value=""> </option>
269 [% FOREACH locationloo IN locationloop %]
270 [% IF ( locationloo.selected ) %]<option value="[% locationloo.code | html %]" selected="selected">[% locationloo.description | html %]</option>[% ELSE %]<option value="[% locationloo.code | html %]">[% locationloo.description | html %]</option>[% END %]
276 <td>Item call number</td>
279 <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>
281 [% IF ( hassort1 ) %]
282 <tr><td>Patron sort 1</td>
283 <td><input type="radio" name="Line" value="borrowers.sort1" /></td>
284 <td><input type="radio" name="Column" value="borrowers.sort1" /></td>
285 <td><select name="filter_borrowers.sort1" id="sort1">
286 <option value=""> </option>
287 [% FOREACH Bsort IN Bsort1 %]
288 [% IF ( Bsort.selected ) %]<option value="[% Bsort.authorised_value | html %]" selected="selected">[% Bsort.lib | html %]</option>[% ELSE %]<option value="[% Bsort.authorised_value | html %]" >[% Bsort.lib | html %]</option>[% END %]
294 [% IF ( hassort2 ) %]
295 <tr><td>Patron sort 2</td>
296 <td><input type="radio" name="Line" value="borrowers.sort2" /></td>
297 <td><input type="radio" name="Column" value="borrowers.sort2" /></td>
298 <td><select name="filter_borrowers.sort2" id="sort2">
299 <option value=""> </option>
300 [% FOREACH Bsort IN Bsort2 %]
301 [% IF ( Bsort.selected ) %]<option value="[% Bsort.authorised_value | html %]" selected="selected">[% Bsort.lib | html %]</option>[% ELSE %]<option value="[% Bsort.authorised_value | html %]" >[% Bsort.lib | html %]</option>[% END %]
308 </table><br /></fieldset>
310 <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>
311 <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 bibliographic records:</label> <input type="radio" name="Cellvalue" id="cellvalue4" value="4" /> </li></ol></fieldset>
313 <fieldset class="rows">
314 <legend>Output</legend>
317 <label for="outputscreen">To screen into the browser: </label><input type="radio" checked="checked" name="output" id="outputscreen" value="screen" />
320 <label for="outputfile">To a file:</label> <input type="radio" name="output" value="file" id="outputfile" />
321 <label class="inline" for="basename">Named: </label><input type="text" name="basename" id="basename" value="Export" />
322 <label class="inline" for="MIME">Into an application:</label>
323 <select name="MIME" id="MIME">
324 [% FOREACH value IN CGIextChoice %]
325 <option value="[% value | html %]">[% value | html %]</option>
328 <select name="sep" id="sep">
329 [% FOREACH value IN CGIsepChoice.values.sort() %]
330 [% IF ( value == CGIsepChoice.default ) %]
331 <option value="[% value | html %]" selected="selected">[% value | html %]</option>
333 <option value="[% value | html %]">[% value | html %]</option>
341 <fieldset class="action">
342 <input type="submit" class="btn btn-primary" value="Submit" />
343 <input type="hidden" name="report_name" value="[% report_name | html %]" />
344 <input type="hidden" name="do_it" value="1" />
350 </div> <!-- /.col-sm-10.col-sm-push-2 -->
352 <div class="col-sm-2 col-sm-pull-10">
354 [% INCLUDE 'reports-menu.inc' %]
356 </div> <!-- /.col-sm-2.col-sm-pull-10 -->
357 </div> <!-- /.row -->
359 [% MACRO jsinclude BLOCK %]
360 [% INCLUDE 'calendar.inc' %]
363 $(document).ready(function () {
364 // Undo the selection that Branches.all made, since there may be no item with homebranch or holdingbranch
365 $('#holdingbranch option').prop('selected', false);
366 $('#homebranch option').prop('selected', false);
371 [% INCLUDE 'intranet-bottom.inc' %]