Browse Source

Bug 19943: Remove itemtype vs itype confusion in CanBookBeIssued

Just a preliminary step to clean the code a bit in CanBookBeIssued.
The effective item type is already set from GetItem and we do not need
to deal with that again.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
18.05.x
Jonathan Druart 4 years ago
parent
commit
3953fdb921
  1. 15
      C4/Circulation.pm

15
C4/Circulation.pm

@ -670,7 +670,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;
my $patron_unblessed = $patron->unblessed;
@ -691,8 +691,7 @@ sub CanBookBeIssued {
my $issuedate = $now->clone();
my $branch = _GetCircControlBranch($item, $patron_unblessed);
my $itype = ( C4::Context->preference('item-level_itypes') ) ? $item->{'itype'} : $biblioitem->{'itemtype'};
$duedate = CalcDateDue( $issuedate, $itype, $branch, $patron_unblessed );
$duedate = CalcDateDue( $issuedate, $effective_itemtype, $branch, $patron_unblessed );
# Offline circ calls AddIssue directly, doesn't run through here
# So issuingimpossible should be ok.
@ -716,7 +715,7 @@ sub CanBookBeIssued {
branch => C4::Context->userenv->{'branch'},
type => 'localuse',
itemnumber => $item->{'itemnumber'},
itemtype => $item->{'itype'},
itemtype => $effective_itemtype,
borrowernumber => $patron->borrowernumber,
ccode => $item->{'ccode'}}
);
@ -921,20 +920,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;
}
}
}

Loading…
Cancel
Save