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

(-)a/C4/Reserves.pm (-5 / +1 lines)
Lines 402-412 sub CanBookBeReserved{ Link Here
402
  if ($canReserve->{status} eq 'OK') { #We can reserve this Item! }
402
  if ($canReserve->{status} eq 'OK') { #We can reserve this Item! }
403
403
404
  current params are:
404
  current params are:
405
  'ignore_found_holds' - if true holds that have been trapped are not counted
406
  toward the patron limit, used by checkHighHolds to avoid counting the hold we will fill with the
407
  current checkout against the high holds threshold
408
  'ignore_hold_counts' - we use this routine to check if an item can fill a hold - on this case we
405
  'ignore_hold_counts' - we use this routine to check if an item can fill a hold - on this case we
409
  should not check if there are too many holds as we only csre about reservability
406
  should not check if there are too many holds as we only care about reservability
410
407
411
@RETURNS { status => OK },              if the Item can be reserved.
408
@RETURNS { status => OK },              if the Item can be reserved.
412
         { status => ageRestricted },   if the Item is age restricted for this borrower.
409
         { status => ageRestricted },   if the Item is age restricted for this borrower.
Lines 519-525 sub CanItemBeReserved { Link Here
519
                borrowernumber => $patron->borrowernumber,
516
                borrowernumber => $patron->borrowernumber,
520
                biblionumber   => $item->biblionumber,
517
                biblionumber   => $item->biblionumber,
521
            };
518
            };
522
            $search_params->{found} = undef if $params->{ignore_found_holds};
523
            my $holds = Koha::Holds->search($search_params);
519
            my $holds = Koha::Holds->search($search_params);
524
            return { status => "tooManyHoldsForThisRecord", limit => $holds_per_record } if $holds->count() >= $holds_per_record;
520
            return { status => "tooManyHoldsForThisRecord", limit => $holds_per_record } if $holds->count() >= $holds_per_record;
525
        }
521
        }
(-)a/t/db_dependent/Reserves/MultiplePerRecord.t (-5 / +1 lines)
Lines 19-25 Link Here
19
19
20
use Modern::Perl;
20
use Modern::Perl;
21
21
22
use Test::More tests => 16;
22
use Test::More tests => 15;
23
use t::lib::TestBuilder;
23
use t::lib::TestBuilder;
24
use t::lib::Mocks;
24
use t::lib::Mocks;
25
25
Lines 251-257 Koha::Holds->find($hold_id)->found("W")->store; Link Here
251
$can = CanBookBeReserved($patron->{borrowernumber}, $biblio->biblionumber);
251
$can = CanBookBeReserved($patron->{borrowernumber}, $biblio->biblionumber);
252
is( $can->{status}, 'tooManyHoldsForThisRecord', 'Third hold exceeds limit of holds per record' );
252
is( $can->{status}, 'tooManyHoldsForThisRecord', 'Third hold exceeds limit of holds per record' );
253
253
254
$can = CanBookBeReserved($patron->{borrowernumber}, $biblio->biblionumber, undef, { ignore_found_holds => 1 });
255
is( $can->{status}, 'OK', 'Third hold is allowed when ignoring waiting holds' );
256
257
$schema->storage->txn_rollback;
254
$schema->storage->txn_rollback;
258
- 

Return to bug 29102