tweak Inventory tool and sub in C4/Items so call number min and max are not required

This changes the setting if default values in the inventory tool where
the min and max call number are concerned.  Also changes how the query
is formed in C4/Items so that these two are not required.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
This commit is contained in:
Michael Hafen 2009-02-03 16:46:25 -07:00 committed by Henri-Damien LAURENT
parent 8e7682b736
commit e6df0448c9
2 changed files with 17 additions and 9 deletions

View File

@ -1026,35 +1026,43 @@ offset & size can be used to retrieve only a part of the whole listing (defaut b
sub GetItemsForInventory {
my ( $minlocation, $maxlocation,$location, $itemtype, $ignoreissued, $datelastseen, $branch, $offset, $size ) = @_;
my $dbh = C4::Context->dbh;
my ( @bind_params, @where_strings );
my $query = <<'END_SQL';
SELECT items.itemnumber, barcode, itemcallnumber, title, author, biblio.biblionumber, datelastseen
FROM items
LEFT JOIN biblio ON items.biblionumber = biblio.biblionumber
LEFT JOIN biblioitems on items.biblionumber = biblioitems.biblionumber
WHERE itemcallnumber >= ?
AND itemcallnumber <= ?
END_SQL
my @bind_params = ( $minlocation, $maxlocation );
if ($minlocation) {
push @where_strings, 'itemcallnumber >= ?';
push @bind_params, $minlocation;
}
if ($maxlocation) {
push @where_strings, 'itemcallnumber <= ?';
push @bind_params, $maxlocation;
}
if ($datelastseen) {
$datelastseen = format_date_in_iso($datelastseen);
$query .= ' AND (datelastseen < ? OR datelastseen IS NULL) ';
push @where_strings, '(datelastseen < ? OR datelastseen IS NULL)';
push @bind_params, $datelastseen;
}
if ( $location ) {
$query.= ' AND items.location = ? ';
push @where_strings, 'items.location = ?';
push @bind_params, $location;
}
if ( $branch ) {
$query.= ' AND items.homebranch = ? ';
push @where_strings, 'items.homebranch = ?';
push @bind_params, $branch;
}
if ( $itemtype ) {
$query.= ' AND biblioitems.itemtype = ? ';
push @where_strings, 'biblioitems.itemtype = ?';
push @bind_params, $itemtype;
}
if ( $ignoreissued) {

View File

@ -29,9 +29,9 @@ use C4::Koha;
use C4::Branch; # GetBranches
my $input = new CGI;
my $minlocation=$input->param('minlocation') || 'A';
my $minlocation=$input->param('minlocation') || '';
my $maxlocation=$input->param('maxlocation');
$maxlocation=$minlocation.'Z' unless $maxlocation;
$maxlocation=$minlocation.'Z' unless ( $maxlocation || ! $minlocation );
my $location=$input->param('location');
my $itemtype=$input->param('itemtype');
my $ignoreissued=$input->param('ignoreissued');