Koha/koha-tmpl/intranet-tmpl/prog/en/modules/tools/inventory.tt
Fridolin Somers 66353372cf Bug 12909 - item withdrawn is missing in inventory results
In inventory results, CSV or screen, the item withdrawn information is missing.
This information can be usefull to understand why an item was not scanned.

Test plan :
- Check you have in default framework an item subfield mapped with items.withdrawn
- Create a biblio with default framework
- Create an item with barcode='000AAA1', callnumber='ZZZAAA1' and withdrawn=0
- Create an item with barcode='000AAA2', callnumber='ZZZAAA2' and withdrawn=1
- Go to inventory tool : /cgi-bin/koha/tools/inventory.pl
- Enter item callnumber between 'ZZZ' and 'ZZZZ'
- Submit
=> You see a column 'Withdrawn' with withdrawn value
- Go to inventory tool : /cgi-bin/koha/tools/inventory.pl
- Enter item callnumber between 'ZZZ' and 'ZZZZ'
- Check 'Export to CSV file'
- Submit
- Open exported file
=> You see a column 'Withdrawn' with withdrawn value

Signed-off-by: Nick Clemens <nick@quecheelibrary.org>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-11-21 15:27:15 -03:00

319 lines
13 KiB
Text

[% USE KohaDates %]
[% USE Branches %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Tools &rsaquo; Inventory</title>
[% INCLUDE 'doc-head-close.inc' %]
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
[% INCLUDE 'datatables.inc' %]
[% INCLUDE 'calendar.inc' %]
<script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
<script type="text/javascript">
//<![CDATA[
function checkForm() {
if ( $('#uploadbarcodes').val() ) {
if ( !(
$('#branchloop').val() ||
$('#locationloop').val() ||
$('#minlocation').val() ||
$('#maxlocation').val() ||
$('#statuses input:checked').length
) ) {
return confirm(
_("You have not selected any catalog filters and are about to compare a file of barcodes to your entire catalog.") + "\n\n" +
_("For large catalogs this can result in unexpected behavior") + "\n\n" +
_("Are you sure you want to do this?")
);
}
}
return true;
}
$(document).ready(function(){
inventorydt = $('#inventoryt').dataTable($.extend(true, {}, dataTablesDefaults, {
'sPaginationType': 'full_numbers',
[% IF compareinv2barcd %]
"aoColumnDefs": [ { "bSortable": false, "aTargets": [ 1 ] } ],
[% ELSE %]
"aoColumnDefs": [ { "bSortable": false, "aTargets": [ 0 ] } ],
[% END %]
'fnDrawCallback': function() {
//bind the click handler script to the newly created elements held in the table
$('.openWin').bind('click',function(e){
e.preventDefault();
openWindow(this.href,'marcview',800,600);
});
}
} ));
$("#continuewithoutmarkingbutton").click(function(){
inventorydt.fnPageChange( 'next' );
return false;
});
$("#markseenandcontinuebutton").click(function(){
var param = '';
$("input:checked").each(function() {
param += "|" + $(this).attr('name');
});
$.post('/cgi-bin/koha/tools/ajax-inventory.pl', { seen: param });
inventorydt.fnPageChange( 'next' );
return false;
});
$("#markseenandquit").click(function(){
var param = '';
$("input:checked").each(function() {
param += "|" + $(this).attr('name');
});
$.ajax({
type: 'POST',
url: '/cgi-bin/koha/tools/ajax-inventory.pl',
data: { seen: param},
async: false
});
document.location.href = '/cgi-bin/koha/tools/inventory.pl';
return false;
});
$(".checkall").click(function(){
$(".checkboxed").checkCheckboxes();
return false;
});
$(".clearall").click(function(){
$(".checkboxed").unCheckCheckboxes();
return false;
});
});
//]]>
</script>
</head>
<body id="tools_inventory" class="tools">
[% 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/tools/tools-home.pl">Tools</a> &rsaquo; [% IF (loop) %]<a href="/cgi-bin/koha/tools/inventory.pl">Inventory</a> &rsaquo; Results[% ELSE %]Inventory[% END %]</div>
<div id="doc3" class="yui-t2">
<div id="bd">
<div id="yui-main">
<div class="yui-b">
<h1>Inventory/Stocktaking</h1>
[% IF (moddatecount) %]<div class="dialog message">[% moddatecount %] items modified : datelastseen set to [% date | $KohaDates %]</div>
<div class="dialog alert">Number of potential barcodes read: [% LinesRead %]</div>[% END %]
[% IF (errorfile) %]<div class="dialog alert">[% errorfile %] can't be opened</div>[% END %]
[% IF (err_length && err_length==1) %]<div class="dialog alert">There was 1 barcode that was too long.</div>[% END %]
[% IF (err_length && err_length>1) %]<div class="dialog alert">There were [% err_length %] barcodes that were too long.</div>[% END %]
[% IF (err_data && err_data==1) %]<div class="dialog alert">There was 1 barcode that contained at least one unprintable character.</div>[% END %]
[% IF (err_data && err_data>1) %]<div class="dialog alert">There were [% err_data %] barcodes that contained at least one unprintable character.</div>[% END %]
[% FOREACH error IN errorloop %]
<div class="dialog alert">
[% error.barcode %]
[% IF (error.ERR_BARCODE) %]: barcode not found[% END %]
[% IF (error.ERR_WTHDRAWN) %]: item withdrawn[% END %]
[% IF (error.ERR_ONLOAN_RET) %]: item was on loan. It was returned before marked as seen[% END %]
[% IF (error.ERR_ONLOAN_NOT_RET) %]: item was on loan. couldn't be returned.[% END %]
</div>
[% END %]
[% UNLESS op %]
<div class="yui-g">
<form method="post" action="/cgi-bin/koha/tools/inventory.pl" enctype="multipart/form-data" onsubmit="return checkForm()">
<fieldset class="rows">
<legend>Use a barcode file</legend>
<ol>
<li><label for="uploadbarcodes">Barcode file: </label> <input type="file" id="uploadbarcodes" name="uploadbarcodes" /></li>
<li><label for="setdate">Set inventory date to:</label> <input type="text" id="setdate" name="setdate" value="[% today | $KohaDates %]" class="datepickerfrom" />
</li>
</ol>
</fieldset>
<fieldset class="rows">
<legend>Select items you want to check</legend>
<ol><li>
<label for="branch">Library: </label>
<input type="radio" name="branch" value="homebranch"> Home library</input>
<input type="radio" name="branch" value="holdingbranch"> Current library</input>
</li><li>
<label for="branchloop">Library: </label><select id="branchloop" name="branchcode" style="width:12em;">
<option value="">All libraries</option>
[% FOREACH branchloo IN branchloop %]
[% IF ( branchloo.selected ) %]
<option value="[% branchloo.value %]" selected="selected">[% branchloo.branchname %]</option>
[% ELSE %]
<option value="[% branchloo.value %]">[% branchloo.branchname %]</option>
[% END %]
[% END %]
</select>
</li>
[% IF (authorised_values) %]
<li>
<label for="locationloop">Shelving location (items.location) is: </label>
<select id="locationloop" name="location">
<option value="">Filter location</option>
[% FOREACH value IN authorised_values %]
[% IF (value.selected) %]
<option value="[% value.authorised_value %]" selected="selected">[% value.lib %]</option>
[% ELSE %]
<option value="[% value.authorised_value %]">[% value.lib %]</option>
[% END %]
[% END %]
</select> </li>
[% END %]
<li>
<label for="minlocation">Item callnumber between: </label>
<input type="text" name="minlocation" id="minlocation" value="[% minlocation %]" /> (items.itemcallnumber) </li>
<li><label for="maxlocation">...and: </label>
<input type="text" name="maxlocation" id="maxlocation" value="[% maxlocation %]" />
</li>
[% IF (statuses) %]
</ol>
</fieldset>
<fieldset class="rows">
<legend>Item statuses</legend>
<div id="statuses" style="display: block;">
[% FOREACH status IN statuses %]
[% IF (status.values) %]
<fieldset style="float: left; padding: 5px; margin: 5px;text-align:right">
<legend>[% status.fieldname %]</legend>
<ul id="statuses-[% fieldname %]" style="display: inline;">
[% FOREACH value IN status.values %]
[% IF (value.lib) %]<li>
<label for="[% value.id %]">
[% value.lib %]
</label>
<input type="checkbox" name="status-[% status.fieldname %]-[% value.authorised_value %]" id="[% value.authorised_value %]" />
</li>[% END %]
[% END %]
</ul>
</fieldset>
[% END %]
[% END %]
</div>
</fieldset>
<fieldset class="rows">
<ol>
[% END %]
<li><label for="datelastseen">Inventory date:</label>
<input type="text" id="datelastseen" name="datelastseen" value="[% datelastseen | $KohaDates %]" class="datepickerfrom" />
</li>
<li><label for="ignoreissued">Skip items on loan: </label>
[% IF (ignoreissued) %]
<input type="checkbox" id="ignoreissued" name="ignoreissued" checked="checked" /></li>
[% ELSE %]
<input type="checkbox" id="ignoreissued" name="ignoreissued" /></li>
[% END %]
<li>
<label for="CSVexport">Export to CSV file: </label>
<input type="checkbox" name="CSVexport" id="CSVexport" />
</li>
<li>
<label for="compareinv2barcd">Compare barcodes list to results: </label>
<input type="checkbox" name="compareinv2barcd" id="compareinv2barcd" />
</li>
</ol>
</fieldset>
<input type="hidden" name="op" value="do_it" />
<fieldset class="action"><input type="submit" value="Submit" class="button" /></fieldset>
</form>
</div>
</div>
[% END %]
[% IF (op) %]
<form method="post" action="/cgi-bin/koha/tools/inventory.pl" class="checkboxed">
<input type="hidden" name="markseen" value="1" />
<input type="hidden" name="minlocation" value="[% minlocation %]" />
<input type="hidden" name="maxlocation" value="[% maxlocation %]" />
<input type="hidden" name="location" value="[% location %]" />
<input type="hidden" name="branchcode" value="[% branchcode %]" />
<input type="hidden" name="datelastseen" value="[% datelastseen %]" />
[% UNLESS compareinv2barcd %]
<div><a href="#" class="checkall">[Select all]</a> <a href="#" class="clearall">[Clear all]</a></div>
[% END %]
<table id="inventoryt">
<thead>
<tr>
[% UNLESS compareinv2barcd %]<th>Seen</th>[% END %]
<th>Barcode</th>
<th>Library</th>
<th>Title</th>
<th>Status</th>
<th>Lost</th>
<th>Damaged</th>
<th>Withdrawn</th>
<th>Unseen since</th>
<th>Problems</th>
</tr>
</thead>
<tbody>
[% FOREACH result IN loop %]
<tr>
[% UNLESS compareinv2barcd %]
<td>
<input type="checkbox" name="SEEN-[% result.itemnumber %]" value="1" />
</td>
[% END %]
<td>
[% result.barcode | html %]
</td>
<td>
[% Branches.GetName( result.homebranch ) %]
[% result.location | html %] [% IF ( result.itemcallnumber ) %][[% result.itemcallnumber | html %]][% ELSE %][% END %]
</td>
<td>
<p><a href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=[% result.biblionumber %]" class="openWin">[% result.title | html %]</a></p><p>[% result.author | html %]</p>
</td>
<td>
[% result.notforloan | html %]
</td>
<td>
[% result.itemlost | html %]
</td>
<td>
[% result.damaged | html %]
</td>
<td>
[% result.withdrawn | html %]
</td>
<td>
[% result.datelastseen | $KohaDates | html %]
</td>
<td>
[% IF result.problem == 'wrongplace' %]
<p>Item should not have been scanned</p>
[% ELSIF result.problem == 'missingitem' %]
<p>Item missing</p>
[% ELSIF result.problem == 'changestatus' %]
<p>Change item status</p>
[% ELSIF result.problem == 'not_scanned' %]
<p>Item should have been scanned</p>
[% END %]
</td>
</tr>
[% END %]
</tbody>
</table>
<div class="spacer"></div>
[% UNLESS compareinv2barcd %]
<div style="padding : .3em 0"><a href="#" class="checkall">[Select all]</a> <a href="#" class="clearall">[Clear all]</a></div>
<input type="submit" id="markseenandquit" value="Mark seen and quit" />
<input type="submit" value="Mark seen and continue &gt;&gt;" id="markseenandcontinuebutton" />
<input type="submit" value="Continue without marking &gt;&gt;" id="continuewithoutmarkingbutton" class="submit" />
[% END %]
</form>
</div>
[% END %]
</div>
<div class="yui-b">
[% INCLUDE 'tools-menu.inc' %]
</div>
</div>
[% INCLUDE 'intranet-bottom.inc' %]