Bug 13372: Items lost report improvements

This enhancement adds new column to display the call number on the
items lost report.
On the way, DataTables and ColVis are added on the table.

Test plan:
1/ Go on the items lost report (reports/itemslost.pl) and verify that the
call number column is correctly filled.
2/ On the way, verify that the 'Library' and 'Current location' now contain
the name instead of the code.
3/ Go on the columns configuration in the admin module
(admin/columns_settings.pl), play with the ColVis plugin and confirm
that all works correctly.

Signed-off-by: David Roberts <david.roberts@ptfs-europe.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This commit is contained in:
Jonathan Druart 2014-12-02 13:33:11 +01:00 committed by Tomas Cohen Arazi
parent 4094a235de
commit 03382a089d
4 changed files with 105 additions and 41 deletions

View File

@ -1000,7 +1000,7 @@ sub GetLostItems {
my $query = "
SELECT title, author, lib, itemlost, authorised_value, barcode, datelastseen, price, replacementprice, homebranch,
itype, itemtype, holdingbranch, location, itemnotes, items.biblionumber as biblionumber
itype, itemtype, holdingbranch, location, itemnotes, items.biblionumber as biblionumber, itemcallnumber
FROM items
LEFT JOIN biblio ON (items.biblionumber = biblio.biblionumber)
LEFT JOIN biblioitems ON (items.biblionumber = biblioitems.biblionumber)

View File

@ -51,3 +51,34 @@ modules:
columnname: active
-
columnname: actions
reports:
lostitems:
lostitems-table:
-
columnname: title
cannot_be_toggled: 1
cannot_be_modified: 1
-
columnname: author
-
columnname: lostcode
-
columnname: barcode
-
columnname: callnumber
-
columnname: datelastseen
-
columnname: price
-
columnname: replacementprice
-
columnname: library
-
columnname: itemtype
-
columnname: current_location
-
columnname: location
-
columnname: notes

View File

@ -144,6 +144,13 @@
<h4>Circulation tables</h4>
[% PROCESS pagelist module=modules.circ modulename="circ" %]
</div>
<h3><a href="#reports">Reports</a></h3>
<div id="reports">
<h4>Reports tables</h4>
[% PROCESS pagelist module=modules.reports modulename="reports" %]
</div>
</div>
</div>
</div>

View File

@ -1,6 +1,29 @@
[% USE Branches %]
[% USE ColumnsSettings %]
[% 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="[% themelang %]/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", {
"sDom": 'C<"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' %]
@ -26,47 +49,50 @@
[% END %]
</div>
[% IF ( itemsloop ) %]<table>
<tr>
<th>Title</th>
<th>Author</th>
<th>Lost code</th>
<th>Barcode</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>
[% FOREACH itemsloo IN itemsloop %]
[% UNLESS ( loop.odd ) %]
<tr class="highlight">
[% ELSE %]
<tr>
[% END %]
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% itemsloo.biblionumber %]" title="[% itemsloo.itemnotes %]">
[% itemsloo.title |html %]
</a></td>
<td>[% itemsloo.author %]</td>
<td>[% itemsloo.lib %]</td>
<td><a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% itemsloo.biblionumber %]" title="[% itemsloo.itemnotes %]">
[% itemsloo.barcode %]
</a></td>
<td>[% itemsloo.datelastseen %]</td>
<td>[% itemsloo.price %]</td>
<td>[% itemsloo.replacementprice %]</td>
<td>[% itemsloo.homebranch %]</td>
<td>[% IF ( itemsloo.itype_level ) %][% itemsloo.itype %][% ELSE %][% itemsloo.itemtype %][% END %]</td>
<td>[% itemsloo.holdingbranch %]</td>
<td>[% itemsloo.location %]</td>
<td>[% itemsloo.itemnotes %]</td>
</tr>
[% IF itemsloop %]
<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 itemsloo IN itemsloop %]
<tr>
<td>
<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% itemsloo.biblionumber %]" title="[% itemsloo.itemnotes %]">[% itemsloo.title |html %]</a>
</td>
<td>[% itemsloo.author %]</td>
<td>[% itemsloo.lib %]</td>
<td>
<a href="/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=[% itemsloo.biblionumber %]" title="[% itemsloo.itemnotes %]">[% itemsloo.barcode %]</a>
</td>
<td>[% itemsloo.itemcallnumber %]</td>
<td>[% itemsloo.datelastseen %]</td>
<td>[% itemsloo.price %]</td>
<td>[% itemsloo.replacementprice %]</td>
<td>[% Branches.GetName(itemsloo.homebranch) %]</td>
<td>[% IF ( itemsloo.itype_level ) %][% itemsloo.itype %][% ELSE %][% itemsloo.itemtype %][% END %]</td>
<td>[% Branches.GetName(itemsloo.holdingbranch) %]</td>
<td>[% itemsloo.location %]</td>
<td>[% itemsloo.itemnotes %]</td>
</tr>
[% END %]
</tbody>
</table>
[% END %]
</table>
[% END %]
[% ELSE %]
<form name="f" action="/cgi-bin/koha/reports/itemslost.pl" method="post">