Jonathan Druart
8e7718ee65
The JOIN done by this subroutine are not always useful (depending on item-level_itypes). They also search with LIKE when it is not needed. Since we have now Koha::Items, we can replace this subroutine with a call to Koha::Items->search with the correct parameters. A change in previous behaviours can happen: If a items.itemlost contains a value that is not defined as a LOST authorised value, the item will not be displayed. I think it's the expected behaviour, even if it should not happen in correctly configured installations. Test plan: To test with item-level_itypes set to item and biblio: List the lost items you have on your system, using the different filters available. The result table should contain the correct item's info. Followed test plan, works as expected. Signed-off-by: Marc Véron <veron@veron.ch> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
138 lines
5.3 KiB
Text
138 lines
5.3 KiB
Text
[% USE AuthorisedValues %]
|
|
[% USE Branches %]
|
|
[% USE ColumnsSettings %]
|
|
[% USE KohaDates %]
|
|
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Koha › Reports › Lost items</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
<link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/css/datatables.css" />
|
|
[% INCLUDE 'datatables.inc' %]
|
|
[% INCLUDE 'columns_settings.inc' %]
|
|
<script type='text/javascript'>
|
|
//<![CDATA[
|
|
$(document).ready(function() {
|
|
var columns_settings = [% ColumnsSettings.GetColumns( 'reports', 'lostitems', 'lostitems-table', 'json' ) %];
|
|
var lostitems_table = KohaTable("#lostitems-table", {
|
|
"dom": 'B<"clearfix">t',
|
|
"aaSorting": [],
|
|
"aoColumnDefs": [
|
|
{ "aTargets": [ -1 ], "bSortable": false, "bSearchable": false },
|
|
{ "sType": "title-string", "aTargets" : [ "title-string" ] }
|
|
],
|
|
"bPaginate": false,
|
|
}, columns_settings);
|
|
|
|
});
|
|
//]]>
|
|
</script>
|
|
|
|
</head>
|
|
<body id="rep_itemslost" 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 ( get_items ) %] › <a href="/cgi-bin/koha/reports/itemslost.pl">Lost Items</a> › Results[% ELSE %] › Lost items[% END %]</div>
|
|
|
|
<div id="doc3" class="yui-t2">
|
|
|
|
<div id="bd">
|
|
<div id="yui-main">
|
|
<div class="yui-b">
|
|
|
|
<h1>Lost items</h1>
|
|
|
|
[% IF ( get_items ) %]
|
|
|
|
<div class="results">
|
|
[% IF items.count%]
|
|
[% items.count %] lost items found
|
|
[% ELSE %]
|
|
No lost items found
|
|
[% END %]
|
|
</div>
|
|
|
|
[% IF items.count %]
|
|
<table id="lostitems-table">
|
|
<thead>
|
|
<tr>
|
|
<th>Title</th>
|
|
<th>Author</th>
|
|
<th>Lost code</th>
|
|
<th>Barcode</th>
|
|
<th>Call number</th>
|
|
<th>Date last seen</th>
|
|
<th>Price</th>
|
|
<th>Rep.price</th>
|
|
<th>Library</th>
|
|
<th>Item type</th>
|
|
<th>Current location</th>
|
|
<th>Location</th>
|
|
<th>Notes</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
[% FOREACH item IN items %]
|
|
<tr>
|
|
<td>
|
|
<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% item.biblionumber %]" title="[% item.itemnotes %]">[% item.biblio.title |html %]</a>
|
|
</td>
|
|
<td>[% item.biblio.author %]</td>
|
|
<td>[% AuthorisedValues.GetByCode( 'LOST', item.itemlost ) %]</td>
|
|
<td>
|
|
<a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% item.biblionumber %]" title="[% item.itemnotes %]">[% item.barcode %]</a>
|
|
</td>
|
|
<td>[% item.itemcallnumber %]</td>
|
|
<td>[% item.datelastseen | $KohaDates %]</td>
|
|
<td>[% item.price %]</td>
|
|
<td>[% item.replacementprice %]</td>
|
|
<td>[% Branches.GetName(item.homebranch) %]</td>
|
|
<td>[% item.effective_itemtype %]</td>
|
|
<td>[% Branches.GetName(item.holdingbranch) %]</td>
|
|
<td>[% item.location %]</td>
|
|
<td>[% item.itemnotes %]</td>
|
|
</tr>
|
|
[% END %]
|
|
</tbody>
|
|
</table>
|
|
[% END %]
|
|
[% ELSE %]
|
|
|
|
<form name="f" action="/cgi-bin/koha/reports/itemslost.pl" method="post">
|
|
<fieldset class="rows">
|
|
<ol>
|
|
|
|
<li><label for="barcodefilter">Barcode: </label><input type="text" name="barcodefilter" id="barcodefilter" size="6" /></li>
|
|
<li><label for="branchfilter">Library: </label><select name="branchfilter" id="branchfilter">
|
|
<option value="">All</option>
|
|
[% PROCESS options_for_libraries libraries => Branches.all() %]
|
|
</select></li>
|
|
<li><label for="itemtypesfilter">Item type: </label><select name="itemtypesfilter" id="itemtypesfilter">
|
|
<option value="">All</option>
|
|
[% FOREACH itemtype IN itemtypes %]
|
|
<option value="[% itemtype.itemtype %]">[% itemtype.translated_description %]</option>
|
|
[% END %]
|
|
</select></li>
|
|
|
|
<li><label for="loststatusfilter">Lost status: </label><select name="loststatusfilter" id="loststatusfilter">
|
|
<option value="">All</option>
|
|
[% FOREACH loststatusloo IN loststatusloop %]
|
|
[% IF ( loststatusloo.selected ) %]<option value="[% loststatusloo.authorised_value %]" selected="selected">[% loststatusloo.lib %]</option>
|
|
[% ELSE %]
|
|
<option value="[% loststatusloo.authorised_value %]">[% loststatusloo.lib %]</option>
|
|
[% END %]
|
|
[% END %]
|
|
</select></li>
|
|
</ol></fieldset>
|
|
<fieldset class="action"> <input type="submit" value="Submit" />
|
|
<input type="hidden" name="get_items" value="1" /></fieldset>
|
|
</form>
|
|
|
|
[% END %]
|
|
|
|
</div>
|
|
</div>
|
|
<div class="yui-b">
|
|
[% INCLUDE 'reports-menu.inc' %]
|
|
</div>
|
|
</div>
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|