View | Details | Raw Unified | Return to bug 17941
Collapse All | Expand All

(-)a/C4/Circulation.pm (-15 / +14 lines)
Lines 2679-2702 sub CanBookBeRenewed : PureFunction { Link Here
2679
            # can be filled with available items. We can get the union of the sets simply
2679
            # can be filled with available items. We can get the union of the sets simply
2680
            # by pushing all the elements onto an array and removing the duplicates.
2680
            # by pushing all the elements onto an array and removing the duplicates.
2681
            my @reservable;
2681
            my @reservable;
2682
            foreach my $b (@borrowernumbers) {
2682
            my %borrowers;
2683
                my ($borr) = C4::Members::GetMember( borrowernumber => $b);
2683
            ITEM: foreach my $i (@itemnumbers) {
2684
                foreach my $i (@itemnumbers) {
2684
                my $item = GetItem($i);
2685
                    my $item = GetItem($i);
2685
                next if IsItemOnHoldAndFound($i);
2686
                    if (  !IsItemOnHoldAndFound($i)
2686
                for my $b (@borrowernumbers) {
2687
                        && IsAvailableForItemLevelRequest( $item, $borr )
2687
                    my $borr = $borrowers{$b}//= C4::Members::GetMember(borrowernumber => $_);
2688
                        && CanItemBeReserved( $b, $i ) )
2688
                    next unless IsAvailableForItemLevelRequest($item, $borr);
2689
                    {
2689
                    next unless CanItemBeReserved($b,$i);
2690
                        push( @reservable, $i );
2690
2691
                    push @reservable, $i;
2692
                    if (@reservable >= @borrowernumbers) {
2693
                        $resfound = 0;
2694
                        last ITEM;
2691
                    }
2695
                    }
2696
                    last;
2692
                }
2697
                }
2693
            }
2698
            }
2694
2695
            @reservable = uniq(@reservable);
2696
2697
            if ( @reservable >= @borrowernumbers ) {
2698
                $resfound = 0;
2699
            }
2700
        }
2699
        }
2701
    }
2700
    }
2702
    return ( 0, "on_reserve" ) if $resfound;    # '' when no hold was found
2701
    return ( 0, "on_reserve" ) if $resfound;    # '' when no hold was found
(-)a/reserve/request.pl (-1 / +2 lines)
Lines 512-517 foreach my $biblionumber (@biblionumbers) { Link Here
512
        } @reserves
512
        } @reserves
513
      )
513
      )
514
    {
514
    {
515
        my $priority = $res->priority();
515
        my %reserve;
516
        my %reserve;
516
        my @optionloop;
517
        my @optionloop;
517
        for ( my $i = 1 ; $i <= $totalcount ; $i++ ) {
518
        for ( my $i = 1 ; $i <= $totalcount ; $i++ ) {
Lines 519-525 foreach my $biblionumber (@biblionumbers) { Link Here
519
                @optionloop,
520
                @optionloop,
520
                {
521
                {
521
                    num      => $i,
522
                    num      => $i,
522
                    selected => ( $i == $res->priority() ),
523
                    selected => ( $i == $priority ),
523
                }
524
                }
524
            );
525
            );
525
        }
526
        }

Return to bug 17941