diff --git a/C4/Circulation.pm b/C4/Circulation.pm index 674a7fb6b0..5783038055 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -545,6 +545,10 @@ sub TooMany { } } + if ( not defined( $issuing_rule ) and not defined($branch_borrower_circ_rule->{maxissueqty}) ) { + return { reason => 'NO_RULE_DEFINED', max_allowed => 0 }; + } + # OK, the patron can issue !!! return; } diff --git a/t/db_dependent/Circulation/TooMany.t b/t/db_dependent/Circulation/TooMany.t index 3b60ef50b2..b055f7cdbc 100644 --- a/t/db_dependent/Circulation/TooMany.t +++ b/t/db_dependent/Circulation/TooMany.t @@ -92,15 +92,15 @@ C4::Context->set_userenv($patron->{borrowernumber}, $patron->{userid}, 'usercnum subtest 'no rules exist' => sub { plan tests => 2; - is( + is_deeply( C4::Circulation::TooMany( $patron, $biblio->{biblionumber}, $item ), - undef, - 'CO should be allowed, in any cases' + { reason => 'NO_RULE_DEFINED', max_allowed => 0 }, + 'CO should not be allowed, in any cases' ); - is( + is_deeply( C4::Circulation::TooMany( $patron, $biblio->{biblionumber}, $item, { onsite_checkout => 1 } ), - undef, - 'OSCO should be allowed, in any cases' + { reason => 'NO_RULE_DEFINED', max_allowed => 0 }, + 'OSCO should not be allowed, in any cases' ); };