From fe3621812e80eef0e1c8eb3a47ae639990fd0f6d Mon Sep 17 00:00:00 2001 From: Matthias Meusburger Date: Thu, 11 Mar 2010 15:28:27 +0100 Subject: [PATCH] MT2889 : Fix statistics' itemtype when item-level_itypes is ON --- C4/Biblio.pm | 6 ++++-- C4/Circulation.pm | 10 +++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/C4/Biblio.pm b/C4/Biblio.pm index 1866718a4a..883678a2a1 100755 --- a/C4/Biblio.pm +++ b/C4/Biblio.pm @@ -646,8 +646,10 @@ sub GetBiblioItemData { FROM biblio LEFT JOIN biblioitems on biblio.biblionumber=biblioitems.biblionumber "; unless(C4::Context->preference('item-level_itypes')) { $query .= "LEFT JOIN itemtypes on biblioitems.itemtype=itemtypes.itemtype "; - } - $query .= " WHERE biblioitemnumber = ? "; + } else { + $query .= "LEFT JOIN items on biblio.biblionumber=items.biblionumber "; + } + $query .= " WHERE biblioitems.biblioitemnumber = ? "; my $sth = $dbh->prepare($query); my $data; $sth->execute($biblioitemnumber); diff --git a/C4/Circulation.pm b/C4/Circulation.pm index 6fce6dc6b0..0b0a9b2fe4 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -897,7 +897,7 @@ sub AddIssue { # get biblioinformation for this item my $biblio = GetBiblioFromItemNumber($item->{itemnumber}); - + my $itype = ( C4::Context->preference('item-level_itypes') ) ? $biblio->{'itype'} : $biblio->{'itemtype'}; # # check if we just renew the issue. # @@ -978,7 +978,6 @@ sub AddIssue { VALUES (?,?,?,?,?)" ); unless ($datedue) { - my $itype = ( C4::Context->preference('item-level_itypes') ) ? $biblio->{'itype'} : $biblio->{'itemtype'}; my $loanlength = GetLoanLength( $borrower->{'categorycode'}, $itype, $branch ); $datedue = CalcDateDue( C4::Dates->new( $issuedate, 'iso' ), $loanlength, $branch, $borrower ); @@ -1021,7 +1020,7 @@ sub AddIssue { C4::Context->userenv->{'branch'}, 'issue', $charge, ($sipmode ? "SIP-$sipmode" : ''), $item->{'itemnumber'}, - $item->{'itype'}, $borrower->{'borrowernumber'} + $itype, $borrower->{'borrowernumber'} ); } @@ -1380,7 +1379,8 @@ sub AddReturn { my $itemnumber = GetItemnumberFromBarcode($barcode); my $iteminformation = GetItemIssue( $itemnumber ); my $biblio = GetBiblioItemData($iteminformation->{'biblioitemnumber'}); -# use Data::Dumper;warn Data::Dumper::Dumper($iteminformation); + my $itype = ( C4::Context->preference('item-level_itypes') ) ? $biblio->{'itype'} : $biblio->{'itemtype'}; + unless ( $iteminformation->{'itemnumber'} or $itemnumber) { $messages->{'BadBarcode'} = $barcode; $doreturn = 0; @@ -1501,7 +1501,7 @@ sub AddReturn { UpdateStats( $branch, 'return', '0', '', $iteminformation->{'itemnumber'}, - $biblio->{'itemtype'}, + $itype, $borrower->{'borrowernumber'} ); -- 2.20.1