Koha/koha-tmpl/intranet-tmpl/prog/en/modules/reports/itemslost.tt
Jonathan Druart 8e7718ee65 Bug 18279: Remove C4::Items::GetLostItems
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>
2017-06-05 11:43:26 -03:00

138 lines
5.3 KiB
Text

[% USE AuthorisedValues %]
[% USE Branches %]
[% USE ColumnsSettings %]
[% USE KohaDates %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Reports &rsaquo; 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> &rsaquo; <a href="/cgi-bin/koha/reports/reports-home.pl">Reports</a>[% IF ( get_items ) %] &rsaquo; <a href="/cgi-bin/koha/reports/itemslost.pl">Lost Items</a> &rsaquo; Results[% ELSE %] &rsaquo; 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' %]