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

(-)a/C4/Reserves.pm (-3 / +10 lines)
Lines 310-315 See CanItemBeReserved() for possible return values. Link Here
310
310
311
sub CanBookBeReserved{
311
sub CanBookBeReserved{
312
    my ($borrowernumber, $biblionumber, $pickup_branchcode) = @_;
312
    my ($borrowernumber, $biblionumber, $pickup_branchcode) = @_;
313
    my $patron = Koha::Patrons->find( $borrowernumber );
314
    my $borrower = $patron->unblessed;
313
315
314
    my @itemnumbers = Koha::Items->search({ biblionumber => $biblionumber})->get_column("itemnumber");
316
    my @itemnumbers = Koha::Items->search({ biblionumber => $biblionumber})->get_column("itemnumber");
315
    #get items linked via host records
317
    #get items linked via host records
Lines 319-326 sub CanBookBeReserved{ Link Here
319
    }
321
    }
320
322
321
    my $canReserve = { status => '' };
323
    my $canReserve = { status => '' };
324
    my ($rights,$item);
322
    foreach my $itemnumber (@itemnumbers) {
325
    foreach my $itemnumber (@itemnumbers) {
323
        $canReserve = CanItemBeReserved( $borrowernumber, $itemnumber, $pickup_branchcode );
326
        $item = Koha::Items->find($itemnumber);
327
        $rights = GetHoldRule(  $borrower->{'categorycode'}, $item->{'itype'}, $pickup_branchcode );
328
        return { 'status' => 'RecordHoldNotAllowed' } if $rights->{opacitemholds} eq 'F';
329
330
	$canReserve = CanItemBeReserved( $borrowernumber, $itemnumber, $pickup_branchcode );
324
        return { status => 'OK' } if $canReserve->{status} eq 'OK';
331
        return { status => 'OK' } if $canReserve->{status} eq 'OK';
325
    }
332
    }
326
    return $canReserve;
333
    return $canReserve;
Lines 2270-2276 sub GetHoldRule { Link Here
2270
            itemtype     => $itemtype,
2277
            itemtype     => $itemtype,
2271
            categorycode => $categorycode,
2278
            categorycode => $categorycode,
2272
            branchcode   => $branchcode,
2279
            branchcode   => $branchcode,
2273
            rules        => ['holds_per_record', 'holds_per_day'],
2280
            rules        => ['holds_per_record', 'holds_per_day', 'opacitemholds'],
2274
            order_by     => {
2281
            order_by     => {
2275
                -desc => [ 'categorycode', 'itemtype', 'branchcode' ]
2282
                -desc => [ 'categorycode', 'itemtype', 'branchcode' ]
2276
            }
2283
            }
Lines 2278-2283 sub GetHoldRule { Link Here
2278
    );
2285
    );
2279
    $rules->{holds_per_record} = $holds_per_x_rules->{holds_per_record};
2286
    $rules->{holds_per_record} = $holds_per_x_rules->{holds_per_record};
2280
    $rules->{holds_per_day} = $holds_per_x_rules->{holds_per_day};
2287
    $rules->{holds_per_day} = $holds_per_x_rules->{holds_per_day};
2288
    $rules->{opacitemholds} = $holds_per_x_rules->{opacitemholds};
2281
2289
2282
    return $rules;
2290
    return $rules;
2283
}
2291
}
2284
- 

Return to bug 25408