@@ -, +, @@ CanBookBeIssued --- C4/Circulation.pm | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) --- a/C4/Circulation.pm +++ a/C4/Circulation.pm @@ -683,7 +683,7 @@ sub CanBookBeIssued { my $item = GetItem(undef, $barcode ); my $issue = Koha::Checkouts->find( { itemnumber => $item->{itemnumber} } ); my $biblioitem = GetBiblioItemData($item->{biblioitemnumber}); - $item->{'itemtype'}=$item->{'itype'}; + my $effective_itemtype = $item->{itype}; # GetItem deals with that my $dbh = C4::Context->dbh; # MANDATORY CHECKS - unless item exists, nothing else matters @@ -703,8 +703,7 @@ sub CanBookBeIssued { my $issuedate = $now->clone(); my $branch = _GetCircControlBranch($item,$borrower); - my $itype = ( C4::Context->preference('item-level_itypes') ) ? $item->{'itype'} : $biblioitem->{'itemtype'}; - $duedate = CalcDateDue( $issuedate, $itype, $branch, $borrower ); + $duedate = CalcDateDue( $issuedate, $effective_itemtype, $branch, $borrower ); # Offline circ calls AddIssue directly, doesn't run through here # So issuingimpossible should be ok. @@ -729,7 +728,7 @@ sub CanBookBeIssued { branch => C4::Context->userenv->{'branch'}, type => 'localuse', itemnumber => $item->{'itemnumber'}, - itemtype => $item->{'itype'}, + itemtype => $effective_itemtype, borrowernumber => $borrower->{'borrowernumber'}, ccode => $item->{'ccode'}} ); @@ -941,20 +940,20 @@ sub CanBookBeIssued { if ($notforloan->{'notforloan'}) { if (!C4::Context->preference("AllowNotForLoanOverride")) { $issuingimpossible{NOT_FOR_LOAN} = 1; - $issuingimpossible{itemtype_notforloan} = $item->{'itype'}; + $issuingimpossible{itemtype_notforloan} = $effective_itemtype; } else { $needsconfirmation{NOT_FOR_LOAN_FORCING} = 1; - $needsconfirmation{itemtype_notforloan} = $item->{'itype'}; + $needsconfirmation{itemtype_notforloan} = $effective_itemtype; } } } elsif ($biblioitem->{'notforloan'} == 1){ if (!C4::Context->preference("AllowNotForLoanOverride")) { $issuingimpossible{NOT_FOR_LOAN} = 1; - $issuingimpossible{itemtype_notforloan} = $biblioitem->{'itemtype'}; + $issuingimpossible{itemtype_notforloan} = $effective_itemtype; } else { $needsconfirmation{NOT_FOR_LOAN_FORCING} = 1; - $needsconfirmation{itemtype_notforloan} = $biblioitem->{'itemtype'}; + $needsconfirmation{itemtype_notforloan} = $effective_itemtype; } } } --