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

(-)a/C4/Reserves.pm (-5 / +1 lines)
Lines 398-408 sub CanBookBeReserved{ Link Here
398
  if ($canReserve->{status} eq 'OK') { #We can reserve this Item! }
398
  if ($canReserve->{status} eq 'OK') { #We can reserve this Item! }
399
399
400
  current params are:
400
  current params are:
401
  'ignore_found_holds' - if true holds that have been trapped are not counted
402
  toward the patron limit, used by checkHighHolds to avoid counting the hold we will fill with the
403
  current checkout against the high holds threshold
404
  'ignore_hold_counts' - we use this routine to check if an item can fill a hold - on this case we
401
  'ignore_hold_counts' - we use this routine to check if an item can fill a hold - on this case we
405
  should not check if there are too many holds as we only csre about reservability
402
  should not check if there are too many holds as we only care about reservability
406
403
407
@RETURNS { status => OK },              if the Item can be reserved.
404
@RETURNS { status => OK },              if the Item can be reserved.
408
         { status => ageRestricted },   if the Item is age restricted for this borrower.
405
         { status => ageRestricted },   if the Item is age restricted for this borrower.
Lines 515-521 sub CanItemBeReserved { Link Here
515
                borrowernumber => $patron->borrowernumber,
512
                borrowernumber => $patron->borrowernumber,
516
                biblionumber   => $item->biblionumber,
513
                biblionumber   => $item->biblionumber,
517
            };
514
            };
518
            $search_params->{found} = undef if $params->{ignore_found_holds};
519
            my $holds = Koha::Holds->search($search_params);
515
            my $holds = Koha::Holds->search($search_params);
520
            return { status => "tooManyHoldsForThisRecord", limit => $holds_per_record } if $holds->count() >= $holds_per_record;
516
            return { status => "tooManyHoldsForThisRecord", limit => $holds_per_record } if $holds->count() >= $holds_per_record;
521
        }
517
        }
(-)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