Bug 6963: Corrects a problem when a new order is created with a duplicate barcode.
[koha_fer] / C4 / Reserves.pm
index f7a2e72..4af8a85 100644 (file)
@@ -383,17 +383,15 @@ sub GetReservesFromBorrowernumber {
 sub CanBookBeReserved{
     my ($borrowernumber, $biblionumber) = @_;
 
-    my @items = GetItemsInfo($biblionumber);
-
-       #get items linked via host records
-       my $marcrecord= GetMarcBiblio($biblionumber);
-       my @hostitemInfos = GetHostItemsInfo($marcrecord);
-       if (@hostitemInfos){
-               push (@items,@hostitemInfos);
-       }
+    my @items = get_itemnumbers_of($biblionumber);
+    #get items linked via host records
+    my @hostitems = get_hostitemnumbers_of($biblionumber);
+    if (@hostitems){
+       push (@items,@hostitems);
+    }
 
     foreach my $item (@items){
-        return 1 if CanItemBeReserved($borrowernumber, $item->{itemnumber});
+        return 1 if CanItemBeReserved($borrowernumber, $item);
     }
     return 0;
 }
@@ -828,7 +826,7 @@ sub CheckReserves {
             } else {
                 # See if this item is more important than what we've got so far
                 if ( $res->{'priority'} && $res->{'priority'} < $priority ) {
-                    my $borrowerinfo=C4::Members::GetMemberDetails($res->{'borrowernumber'});
+                    my $borrowerinfo=C4::Members::GetMember(borrowernumber => $res->{'borrowernumber'});
                     my $iteminfo=C4::Items::GetItem($itemnumber);
                     my $branch=C4::Circulation::_GetCircControlBranch($iteminfo,$borrowerinfo);
                     my $branchitemrule = C4::Circulation::GetBranchItemRule($branch,$iteminfo->{'itype'});