use C4::Members;
use Koha::BiblioFrameworks;
use Koha::AuthorisedValues;
+use Koha::Holds;
use Koha::Items;
+use Koha::Patrons;
###############################################
# Getting state
# Deal with the requests....
if ( $request eq "KillWaiting" ) {
my $item = $query->param('itemnumber');
- CancelReserve({
+ my $holds = Koha::Holds->search({
itemnumber => $item,
borrowernumber => $borrowernumber
});
- $cancelled = 1;
- $reqmessage = 1;
+ if ( $holds->count ) {
+ $holds->next->cancel;
+ $cancelled = 1;
+ $reqmessage = 1;
+ } # FIXME else?
}
elsif ( $request eq "SetWaiting" ) {
my $item = $query->param('itemnumber');
$reqmessage = 1;
}
elsif ( $request eq 'KillReserved' ) {
- my $biblio = $query->param('biblionumber');
- CancelReserve({
- biblionumber => $biblio,
+ my $biblionumber = $query->param('biblionumber');
+ my $holds = Koha::Holds->search({
+ biblionumber => $biblionumber,
borrowernumber => $borrowernumber
});
- $cancelled = 1;
- $reqmessage = 1;
+ if ( $holds->count ) {
+ $holds->next->cancel;
+ $cancelled = 1;
+ $reqmessage = 1;
+ } # FIXME else?
}
# collect the stack of books already transfered so they can printed...
elsif ( $code eq 'WasReturned' ) {
$err{errwasreturned} = 1;
$err{borrowernumber} = $messages->{'WasReturned'};
- my $borrower = GetMember('borrowernumber'=>$messages->{'WasReturned'});
- $err{title} = $borrower->{'title'};
- $err{firstname} = $borrower->{'firstname'};
- $err{surname} = $borrower->{'surname'};
- $err{cardnumber} = $borrower->{'cardnumber'};
+ my $patron = Koha::Patrons->find( $messages->{'WasReturned'} );
+ if ( $patron ) { # Just in case...
+ $err{title} = $patron->title;
+ $err{firstname} = $patron->firstname;
+ $err{surname} = $patron->surname;
+ $err{cardnumber} = $patron->cardnumber;
+ }
}
$err{errdesteqholding} = ( $code eq 'DestinationEqualsHolding' );
push( @errmsgloop, \%err );