Bug 19059: Fix compilation issues
[koha.git] / circ / branchtransfers.pl
index 87104c2..c1d30cb 100755 (executable)
@@ -33,7 +33,9 @@ use C4::Koha;
 use C4::Members;
 use Koha::BiblioFrameworks;
 use Koha::AuthorisedValues;
+use Koha::Holds;
 use Koha::Items;
+use Koha::Patrons;
 
 ###############################################
 #  Getting state
@@ -80,12 +82,15 @@ my $ignoreRs = 0;
 # 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');
@@ -95,13 +100,16 @@ elsif ( $request eq "SetWaiting" ) {
     $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...
@@ -205,11 +213,13 @@ foreach my $code ( keys %$messages ) {
         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 );