Owen Leonard
0db8127652
This patch makes two categories of changes:
1. CSS changes to accommodate changes in DataTables default CSS and
markup structure. I've tried to make sure all of our Koha-specific
styles are still applying.
This change necessitates a rebuild of staff interface CSS.
2. DataTables option names: In this version of DataTables you can't
override a default which uses CamelCase (e.g. "pagingType") with one
in "Hungarian" notation, e.g. "sPaginationType." Since we define many
default options in prog/js/datatables.js in camel case, any template
which previously used a Hungarian notation option to override the
default has now been updated to use the CamelCase version.
See https://datatables.net/upgrade/1.10-convert#Options for a summary
of the different option name changes.
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 60e3f1024ba485573e53488575afd605a364a8bb)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
(cherry picked from commit 01d85cfd0b
)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
213 lines
7.9 KiB
Text
213 lines
7.9 KiB
Text
[% USE raw %]
|
|
[% USE Asset %]
|
|
[% USE KohaDates %]
|
|
[% USE AuthorisedValues %]
|
|
[% USE Branches %]
|
|
[% USE ItemTypes %]
|
|
[% USE TablesSettings %]
|
|
[% SET footerjs = 1 %]
|
|
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Hold ratios › Circulation › Koha</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
<style>
|
|
.sql { display: none; }
|
|
.ulined { text-decoration: underline; }
|
|
#holdst ul li { list-style: outside url("[% interface | html %]/[% theme | html %]/img/item-bullet.svg") disc; }
|
|
</style>
|
|
</head>
|
|
|
|
<body id="circ_reserveratios" class="circ">
|
|
[% WRAPPER 'header.inc' %]
|
|
[% INCLUDE 'circ-search.inc' %]
|
|
[% END %]
|
|
|
|
[% WRAPPER 'sub-header.inc' %]
|
|
[% WRAPPER breadcrumbs %]
|
|
[% WRAPPER breadcrumb_item %]
|
|
<a href="/cgi-bin/koha/circ/circulation-home.pl">Circulation</a>
|
|
[% END %]
|
|
[% WRAPPER breadcrumb_item bc_active= 1 %]
|
|
<span>Hold ratios</span>
|
|
[% END %]
|
|
[% END #/ WRAPPER breadcrumbs %]
|
|
[% END #/ WRAPPER sub-header.inc %]
|
|
|
|
<div class="main container-fluid">
|
|
<div class="row">
|
|
<div class="col-sm-10 col-sm-push-2">
|
|
<main>
|
|
|
|
<h1>Hold ratios to calculate items needed</h1>
|
|
<h3>Calculated on [% todaysdate | $KohaDates %]. From [% from | $KohaDates %]
|
|
to [% to | $KohaDates %]</h3>
|
|
<p>These items have a hold ratio ≥ [% ratio | html %].</p>
|
|
<div class="sql">[% sql | html %]</div>
|
|
|
|
[% IF ( reserveloop ) %]
|
|
<table id="holdst">
|
|
<thead>
|
|
<tr>
|
|
<th>Holds</th>
|
|
<th>Items</th>
|
|
<th>Hold ratio</th>
|
|
<th class="anti-the">Title</th>
|
|
<th>Home libraries</th>
|
|
<th>Holding libraries</th>
|
|
<th>Location</th>
|
|
<th>Itype</th>
|
|
<th>Collection</th>
|
|
<th class="natural">Call numbers</th>
|
|
<th>Items needed</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
[% FOREACH reserveloo IN reserveloop %]
|
|
<tr>
|
|
<td><p>[% reserveloo.reservecount | html %]</p></td>
|
|
<td><p>[% reserveloo.itemcount | html %]</p></td>
|
|
<td><a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% reserveloo.biblionumber | uri %]" >[% reserveloo.thisratio | html %]</a></td>
|
|
<td>
|
|
[% INCLUDE 'biblio-title.inc' biblio=reserveloo link = 1 %][% IF ( reserveloo.author ) %] by [% reserveloo.author | html %][% END %]
|
|
</td>
|
|
<td>
|
|
<ul>
|
|
[% FOREACH homebranch IN reserveloo.homebranch_list %]
|
|
<li>[% Branches.GetName ( homebranch ) | html %]</li>
|
|
[% END %]
|
|
</ul>
|
|
</td>
|
|
<td>
|
|
<ul>
|
|
[% FOREACH holdingbranch IN reserveloo.holdingbranch_list %]
|
|
<li>[% Branches.GetName ( holdingbranch ) | html %]</li>
|
|
[% END %]
|
|
</ul>
|
|
</td>
|
|
<td>
|
|
<ul>
|
|
[% FOREACH location IN reserveloo.location %]
|
|
<li>[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.location', authorised_value => location ) | html %]</li>
|
|
[% END %]
|
|
</ul>
|
|
</td>
|
|
<td>
|
|
<ul>
|
|
[% FOREACH itype IN reserveloo.itype %]
|
|
<li>[% ItemTypes.GetDescription( itype ) | html %]</li>
|
|
[% END %]
|
|
</ul>
|
|
</td>
|
|
<td>
|
|
<ul>
|
|
[% FOREACH ccode IN reserveloo.ccode %]
|
|
<li>[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.ccode', authorised_value => ccode ) | html %]</li>
|
|
[% END %]
|
|
</ul>
|
|
</td>
|
|
<td>
|
|
<ul>
|
|
[% FOREACH listcall IN reserveloo.listcall %]
|
|
<li>[% listcall | html %]</li>
|
|
[% END %]
|
|
</ul>
|
|
</td>
|
|
<td class="actions" data-sort="[% reserveloo.copies_to_buy | html %]">
|
|
<p>
|
|
[% IF ( reserveloo.thisratio_atleast1 ) %]
|
|
[% IF ( CAN_user_acquisition && basketno && booksellerid ) %]<!-- [% reserveloo.copies_to_buy | html %] -->
|
|
<a href="/cgi-bin/koha/acqui/neworderempty.pl?biblionumber=[% reserveloo.biblionumber | uri %]&booksellerid=[% booksellerid | uri %]&basketno=[% basketno | uri %]&rr_quantity_to_order=[% reserveloo.copies_to_buy | uri %]" class="btn btn-default btn-xs"><i class="fa fa-plus"></i> [% reserveloo.copies_to_buy | html %] to order</a>
|
|
[% ELSE %]
|
|
<strong>[% reserveloo.copies_to_buy | html %] to order</strong>
|
|
[% END %]
|
|
[% IF ( reserveloo.pendingorders ) %]<br><strong>[% reserveloo.pendingorders | html %] pending</strong>[% END %]
|
|
[% ELSE %]
|
|
<span>0 to order</span>
|
|
[% END %]
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
[% END %]
|
|
</tbody>
|
|
</table>
|
|
[% ELSE %]
|
|
<strong>No items found.</strong>
|
|
[% END %]
|
|
|
|
</main>
|
|
</div> <!-- /.col-sm-10.col-sm-push-2 -->
|
|
|
|
<div class="col-sm-2 col-sm-pull-10">
|
|
<aside>
|
|
|
|
<form action="/cgi-bin/koha/circ/reserveratios.pl" method="post" >
|
|
<fieldset class="brief">
|
|
<h4>Refine results:</h4>
|
|
<ol>
|
|
<li>
|
|
<label for="ratio">Hold ratio (greater than or equal to):</label>
|
|
<input type="text" size="5" id="ratio" name="ratio" value="[% ratio | html %]" />
|
|
</li>
|
|
|
|
<li class="checkbox">
|
|
[% IF include_ordered %]
|
|
<input id="include_ordered" name="include_ordered" type="checkbox" checked="checked"/>
|
|
[% ELSE %]
|
|
<input id="include_ordered" name="include_ordered" type="checkbox"/>
|
|
[% END %]
|
|
<label for="include_ordered">Include ordered</label>
|
|
</li>
|
|
|
|
<li class="checkbox">
|
|
[% IF include_suspended %]
|
|
<input id="include_suspended" name="include_suspended" type="checkbox" checked="checked"/>
|
|
[% ELSE %]
|
|
<input id="include_suspended" name="include_suspended" type="checkbox"/>
|
|
[% END %]
|
|
<label for="include_suspended">Include suspended</label>
|
|
</li>
|
|
|
|
<li>
|
|
<label for="from">Start date:</label>
|
|
<input type="text" size="10" id="from" name="from" value="[% from | html %]" class="flatpickr" data-date_to="to" />
|
|
</li>
|
|
|
|
<li>
|
|
<label for="to">End date:</label>
|
|
<input size="10" id="to" name="to" value="[% to | html %]" type="text" class="flatpickr" />
|
|
</li>
|
|
</ol>
|
|
(inclusive)
|
|
|
|
<fieldset class="action"><input type="submit" value="Go" class="submit"/></fieldset>
|
|
</fieldset>
|
|
[% IF ( CAN_user_acquisition && basketno && booksellerid ) %]
|
|
<input type="hidden" name="booksellerid" value="[% booksellerid | html %]" />
|
|
<input type="hidden" name="basketno" value="[% basketno | html %]" />
|
|
[% END %]
|
|
</form>
|
|
|
|
</aside>
|
|
</div> <!-- /.col-sm-2.col-sm-pull-10 -->
|
|
</div> <!-- /.row -->
|
|
|
|
[% MACRO jsinclude BLOCK %]
|
|
[% INCLUDE 'calendar.inc' %]
|
|
[% INCLUDE 'datatables.inc' %]
|
|
[% INCLUDE 'columns_settings.inc' %]
|
|
<script>
|
|
var table_settings = [% TablesSettings.GetTableSettings( 'circ', 'holdsratios', 'holds-ratios', 'json' ) | $raw %];
|
|
$(document).ready(function() {
|
|
KohaTable("holdst", {
|
|
"order": [ [2,'desc'], [3,'asc'] ],
|
|
"columnDefs": [
|
|
{ "type": "anti-the", "targets": [ "anti-the" ] },
|
|
{ "type": "natural", "targets": [ "natural" ] },
|
|
],
|
|
"pagingType": "full",
|
|
"autoWidth": false
|
|
}, table_settings);
|
|
});
|
|
</script>
|
|
[% END %]
|
|
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|