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

(-)a/C4/HoldsQueue.pm (-9 / +22 lines)
Lines 452-469 sub MapItemsToHoldRequests { Link Here
452
        my $LocalHoldsPriorityItemControl =
452
        my $LocalHoldsPriorityItemControl =
453
          C4::Context->preference('LocalHoldsPriorityItemControl');
453
          C4::Context->preference('LocalHoldsPriorityItemControl');
454
454
455
    REQUEST:
455
        foreach my $request (@$hold_requests) {
456
        foreach my $request (@$hold_requests) {
457
            my $patron;
456
            last if $num_items_remaining == 0;
458
            last if $num_items_remaining == 0;
457
            my $patron = Koha::Patrons->find($request->{borrowernumber});
458
            next if $patron->category->exclude_from_local_holds_priority;
459
460
            my $local_hold_match;
459
            my $local_hold_match;
461
            foreach my $item (@$available_items) {
460
            foreach my $item (@$available_items) {
462
                next if $item->{_object}->exclude_from_local_holds_priority;
463
464
                next unless _can_item_fill_request( $item, $request, $libraries );
465
466
                next if $request->{itemnumber} && $request->{itemnumber} != $item->{itemnumber};
467
461
468
                my $local_holds_priority_item_branchcode =
462
                my $local_holds_priority_item_branchcode =
469
                  $item->{$LocalHoldsPriorityItemControl};
463
                  $item->{$LocalHoldsPriorityItemControl};
Lines 480-485 sub MapItemsToHoldRequests { Link Here
480
                  $local_holds_priority_patron_branchcode;
474
                  $local_holds_priority_patron_branchcode;
481
475
482
                if ($local_hold_match) {
476
                if ($local_hold_match) {
477
                    next if $item->{_object}->exclude_from_local_holds_priority;
478
479
                    if ( !defined $patron ) {
480
                        $patron = Koha::Patrons->find( $request->{borrowernumber} );
481
482
                        next REQUEST if $patron->category->exclude_from_local_holds_priority;
483
                    }
484
485
                    next unless _can_item_fill_request( $item, $request, $libraries );
486
487
                    next if $request->{itemnumber} && $request->{itemnumber} != $item->{itemnumber};
488
489
                    next
490
                        if $request->{item_group_id}
491
                        && $item->{_object}->item_group
492
                        && $item->{_object}->item_group->id ne $request->{item_group_id};
493
494
                    next
495
                        unless $item->{_object}->can_be_transferred( { to => $libraries->{ $request->{branchcode} } } );
496
483
                    if ( exists $items_by_itemnumber{ $item->{itemnumber} }
497
                    if ( exists $items_by_itemnumber{ $item->{itemnumber} }
484
                        and not exists $allocated_items{ $item->{itemnumber} }
498
                        and not exists $allocated_items{ $item->{itemnumber} }
485
                        and not $request->{allocated})
499
                        and not $request->{allocated})
486
- 

Return to bug 35899