X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;ds=sidebyside;f=tools%2Finventory.pl;h=824906b01b3811173080d0b5b4c76804e11b85f3;hb=08382876306cfda839637c5f72a107b304458a8e;hp=f8903e5e7beec73e9686be4d3249002ad4e52984;hpb=f098258e8cf2d616c6bbc35e44c6a1df47be8517;p=koha.git diff --git a/tools/inventory.pl b/tools/inventory.pl index f8903e5e7b..824906b01b 100755 --- a/tools/inventory.pl +++ b/tools/inventory.pl @@ -39,7 +39,7 @@ use C4::Circulation; my $minlocation=$input->param('minlocation') || ''; my $maxlocation=$input->param('maxlocation'); $maxlocation=$minlocation.'Z' unless ( $maxlocation || ! $minlocation ); -my $location=$input->param('location'); +my $location=$input->param('location') || ''; my $itemtype=$input->param('itemtype'); # FIXME note, template does not currently supply this my $ignoreissued=$input->param('ignoreissued'); my $datelastseen = $input->param('datelastseen'); @@ -48,7 +48,7 @@ my $markseen = $input->param('markseen'); $offset=0 unless $offset; my $pagesize = $input->param('pagesize'); $pagesize=50 unless $pagesize; -my $branchcode = $input->param('branchcode'); +my $branchcode = $input->param('branchcode') || ''; my $branch = $input->param('branch'); my $op = $input->param('op'); my $res; #contains the results loop @@ -74,9 +74,11 @@ for my $branch_hash (keys %$branches) { @branch_loop = sort {$a->{branchname} cmp $b->{branchname}} @branch_loop; my @authorised_value_list; -my $authorisedvalue_categories; +my $authorisedvalue_categories = ''; my $frameworks = getframeworks(); +$frameworks->{''} = {frameworkcode => ''}; # Add the default framework + for my $fwk (keys %$frameworks){ my $fwkcode = $frameworks->{$fwk}->{'frameworkcode'}; my $authcode = GetAuthValCode('items.location', $fwkcode); @@ -91,7 +93,7 @@ for my $fwk (keys %$frameworks){ } my $statuses = []; -for my $statfield (qw/items.notforloan items.itemlost items.wthdrawn items.damaged/){ +for my $statfield (qw/items.notforloan items.itemlost items.withdrawn items.damaged/){ my $hash = {}; $hash->{fieldname} = $statfield; $hash->{authcode} = GetAuthValCode($statfield); @@ -106,7 +108,7 @@ my $staton = {}; #authorized values that are ticked for my $authvfield (@$statuses) { $staton->{$authvfield->{fieldname}} = []; for my $authval (@{$authvfield->{values}}){ - if ( $input->param('status-' . $authvfield->{fieldname} . '-' . $authval->{id}) eq 'on' ){ + if ( defined $input->param('status-' . $authvfield->{fieldname} . '-' . $authval->{id}) && $input->param('status-' . $authvfield->{fieldname} . '-' . $authval->{id}) eq 'on' ){ push @{$staton->{$authvfield->{fieldname}}}, $authval->{id}; } } @@ -123,7 +125,6 @@ $statussth =~ s, and $,,g; $template->param(branchloop => \@branch_loop, authorised_values=>\@authorised_value_list, - DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(), today => C4::Dates->today(), minlocation => $minlocation, maxlocation => $maxlocation, @@ -142,13 +143,13 @@ if ($uploadbarcodes && length($uploadbarcodes)>0){ # warn "$date"; my $strsth="select * from issues, items where items.itemnumber=issues.itemnumber and items.barcode =?"; my $qonloan = $dbh->prepare($strsth); - $strsth="select * from items where items.barcode =? and items.wthdrawn = 1"; - my $qwthdrawn = $dbh->prepare($strsth); + $strsth="select * from items where items.barcode =? and items.withdrawn = 1"; + my $qwithdrawn = $dbh->prepare($strsth); my @errorloop; my $count=0; while (my $barcode=<$uploadbarcodes>){ $barcode =~ s/\r?\n$//; - if ($qwthdrawn->execute($barcode) &&$qwthdrawn->rows){ + if ($qwithdrawn->execute($barcode) &&$qwithdrawn->rows){ push @errorloop, {'barcode'=>$barcode,'ERR_WTHDRAWN'=>1}; }else{ my $item = GetItem('', $barcode); @@ -172,7 +173,7 @@ if ($uploadbarcodes && length($uploadbarcodes)>0){ } } $qonloan->finish; - $qwthdrawn->finish; + $qwithdrawn->finish; $template->param(date=>format_date($date),Number=>$count); # $template->param(errorfile=>$errorfile) if ($errorfile); $template->param(errorloop=>\@errorloop) if (@errorloop); @@ -185,16 +186,16 @@ if ( ! ($uploadbarcodes && length($uploadbarcodes)>0 ) || ( $input->param('compa } } if ($markseen or $op) { - $res = GetItemsForInventory( $minlocation, $maxlocation, $location, $ignoreissued, $itemtype, $datelastseen, $branchcode, $branch, $offset, $pagesize, $staton ); + $res = GetItemsForInventory( $minlocation, $maxlocation, $location, $itemtype, $ignoreissued, $datelastseen, $branchcode, $branch, $offset, $pagesize, $staton ); $template->param(loop =>$res, nextoffset => ($offset+$pagesize), prevoffset => ($offset?$offset-$pagesize:0), ); } - if ( ( ( $input->param('compareinv2barcd') eq 'on' ) && ( scalar @brcditems != scalar @$res ) ) && length($uploadbarcodes) > 0 ){ + if ( defined $input->param('compareinv2barcd') && ( ( $input->param('compareinv2barcd') eq 'on' ) && ( scalar @brcditems != scalar @$res ) ) && length($uploadbarcodes) > 0 ){ if ( scalar @brcditems > scalar @$res ){ for my $brcditem (@brcditems) { - if (! grep(/$brcditem->{barcode}/, @$res) ){ + if (! grep( $_->{barcode} =~ /$brcditem->{barcode}/ , @$res) ){ $brcditem->{notfoundkoha} = 1; push @$res, $brcditem; } @@ -202,7 +203,7 @@ if ( ! ($uploadbarcodes && length($uploadbarcodes)>0 ) || ( $input->param('compa } else { my @notfound; for my $item (@$res) { - if ( ! grep(/$item->{barcode}/, @brcditems) ){ + if ( ! grep( $_->{barcode} =~ /$item->{barcode}/ , @brcditems) ){ $item->{notfoundbarcode} = 1; push @notfound, $item; } @@ -212,7 +213,7 @@ if ( ! ($uploadbarcodes && length($uploadbarcodes)>0 ) || ( $input->param('compa } } -if ($input->param('CSVexport') eq 'on'){ +if (defined $input->param('CSVexport') && $input->param('CSVexport') eq 'on'){ eval {use Text::CSV}; my $csv = Text::CSV->new or die Text::CSV->error_diag ();