Bug 969: If you try to issue an item which has been made waiting for someone, and you

override the reserve, but don't indicate that the reserve should be cancelled,
the reserve is cancelled anyway. Fixed!
This commit is contained in:
genjimoto 2005-05-31 16:01:14 +00:00
parent 93ee040d8e
commit bcf36dbf3f
1 changed files with 9 additions and 7 deletions

View File

@ -770,7 +770,7 @@ sub canbookbeissued {
my $branches = getbranches();
my $branchname = $branches->{$res->{'branchcode'}}->{'branchname'};
$needsconfirmation{RESERVE_WAITING} = "$resborrower->{'firstname'} $resborrower->{'surname'} ($resborrower->{'cardnumber'}, $branchname)";
CancelReserve(0, $res->{'itemnumber'}, $res->{'borrowernumber'});
# CancelReserve(0, $res->{'itemnumber'}, $res->{'borrowernumber'}); Doesn't belong in a checking subroutine.
} elsif ($restype eq "Reserved") {
# The item is on reserve for someone else.
my ($resborrower, $flags)=getpatroninformation($env, $resbor,0);
@ -845,7 +845,9 @@ sub issuebook {
my ($resborrower, $flags)=getpatroninformation($env, $resbor,0);
my $branches = getbranches();
my $branchname = $branches->{$res->{'branchcode'}}->{'branchname'};
CancelReserve(0, $res->{'itemnumber'}, $res->{'borrowernumber'});
if ($cancelreserve){
CancelReserve(0, $res->{'itemnumber'}, $res->{'borrowernumber'});
}
} elsif ($restype eq "Reserved") {
warn "Reserved";
# The item is on reserve for someone else.
@ -856,11 +858,11 @@ sub issuebook {
# cancel reserves on this item
CancelReserve(0, $res->{'itemnumber'}, $res->{'borrowernumber'});
# also cancel reserve on biblio related to this item
my $st_Fbiblio = $dbh->prepare("select biblionumber from items where itemnumber=?");
$st_Fbiblio->execute($res->{'itemnumber'});
my $biblionumber = $st_Fbiblio->fetchrow;
CancelReserve($biblionumber,0,$res->{'borrowernumber'});
warn "CancelReserve $res->{'itemnumber'}, $res->{'borrowernumber'}";
#my $st_Fbiblio = $dbh->prepare("select biblionumber from items where itemnumber=?");
#$st_Fbiblio->execute($res->{'itemnumber'});
#my $biblionumber = $st_Fbiblio->fetchrow;
#CancelReserve($biblionumber,0,$res->{'borrowernumber'});
#warn "CancelReserve $res->{'itemnumber'}, $res->{'borrowernumber'}";
} else {
# my $tobrcd = ReserveWaiting($res->{'itemnumber'}, $res->{'borrowernumber'});
# transferbook($tobrcd,$barcode, 1);