|
Lines 382-390
sub TooMany {
Link Here
|
| 382 |
my $switch_onsite_checkout = $params->{switch_onsite_checkout} || 0; |
382 |
my $switch_onsite_checkout = $params->{switch_onsite_checkout} || 0; |
| 383 |
my $cat_borrower = $borrower->{'categorycode'}; |
383 |
my $cat_borrower = $borrower->{'categorycode'}; |
| 384 |
my $dbh = C4::Context->dbh; |
384 |
my $dbh = C4::Context->dbh; |
| 385 |
my $branch; |
385 |
# Get which branchcode we need |
| 386 |
# Get which branchcode we need |
386 |
my $branch = _GetCircControlBranch($item_object->unblessed,$borrower); |
| 387 |
$branch = _GetCircControlBranch($item_object->unblessed,$borrower); |
|
|
| 388 |
my $type = $item_object->effective_itemtype; |
387 |
my $type = $item_object->effective_itemtype; |
| 389 |
|
388 |
|
| 390 |
my ($type_object, $parent_type, $parent_maxissueqty_rule); |
389 |
my ($type_object, $parent_type, $parent_maxissueqty_rule); |
|
Lines 416-422
sub TooMany {
Link Here
|
| 416 |
} |
415 |
} |
| 417 |
); |
416 |
); |
| 418 |
|
417 |
|
| 419 |
|
|
|
| 420 |
my $maxonsiteissueqty_rule = Koha::CirculationRules->get_effective_rule( |
418 |
my $maxonsiteissueqty_rule = Koha::CirculationRules->get_effective_rule( |
| 421 |
{ |
419 |
{ |
| 422 |
categorycode => $cat_borrower, |
420 |
categorycode => $cat_borrower, |
|
Lines 558-597
sub TooMany {
Link Here
|
| 558 |
} |
556 |
} |
| 559 |
|
557 |
|
| 560 |
sub _check_max_qty { |
558 |
sub _check_max_qty { |
| 561 |
my $params = shift; |
559 |
my $params = shift; |
| 562 |
my $checkout_count = $params->{checkout_count}; |
560 |
my $checkout_count = $params->{checkout_count}; |
| 563 |
my $onsite_checkout_count = $params->{onsite_checkout_count}; |
561 |
my $onsite_checkout_count = $params->{onsite_checkout_count}; |
| 564 |
my $onsite_checkout = $params->{onsite_checkout}; |
562 |
my $onsite_checkout = $params->{onsite_checkout}; |
| 565 |
my $max_checkouts_allowed = $params->{max_checkouts_allowed}; |
563 |
my $max_checkouts_allowed = $params->{max_checkouts_allowed}; |
| 566 |
my $max_onsite_checkouts_allowed = $params->{max_onsite_checkouts_allowed}; |
564 |
my $max_onsite_checkouts_allowed = $params->{max_onsite_checkouts_allowed}; |
| 567 |
my $switch_onsite_checkout = $params->{switch_onsite_checkout}; |
565 |
my $switch_onsite_checkout = $params->{switch_onsite_checkout}; |
| 568 |
|
566 |
|
| 569 |
if ( $onsite_checkout and defined $max_onsite_checkouts_allowed ) { |
567 |
if ( $onsite_checkout and defined $max_onsite_checkouts_allowed ) { |
| 570 |
if( $max_onsite_checkouts_allowed eq '' ){ return;} |
568 |
if ( $max_onsite_checkouts_allowed eq '' ) { return; } |
| 571 |
if ( $onsite_checkout_count >= $max_onsite_checkouts_allowed ) { |
569 |
if ( $onsite_checkout_count >= $max_onsite_checkouts_allowed ) { |
| 572 |
return { |
570 |
return { |
| 573 |
reason => 'TOO_MANY_ONSITE_CHECKOUTS', |
571 |
reason => 'TOO_MANY_ONSITE_CHECKOUTS', |
| 574 |
count => $onsite_checkout_count, |
572 |
count => $onsite_checkout_count, |
| 575 |
max_allowed => $max_onsite_checkouts_allowed, |
573 |
max_allowed => $max_onsite_checkouts_allowed, |
| 576 |
} |
574 |
}; |
| 577 |
} |
575 |
} |
| 578 |
} |
576 |
} |
| 579 |
if ( C4::Context->preference('ConsiderOnSiteCheckoutsAsNormalCheckouts') ) { |
577 |
if ( C4::Context->preference('ConsiderOnSiteCheckoutsAsNormalCheckouts') ) { |
| 580 |
if( $max_checkouts_allowed eq '' ){ return;} |
578 |
if ( $max_checkouts_allowed eq '' ) { return; } |
| 581 |
my $delta = $switch_onsite_checkout ? 1 : 0; |
579 |
my $delta = $switch_onsite_checkout ? 1 : 0; |
| 582 |
if ( $checkout_count >= $max_checkouts_allowed + $delta ) { |
580 |
if ( $checkout_count >= $max_checkouts_allowed + $delta ) { |
| 583 |
return { |
581 |
return { |
| 584 |
reason => 'TOO_MANY_CHECKOUTS', |
582 |
reason => 'TOO_MANY_CHECKOUTS', |
| 585 |
count => $checkout_count, |
583 |
count => $checkout_count, |
| 586 |
max_allowed => $max_checkouts_allowed, |
584 |
max_allowed => $max_checkouts_allowed, |
| 587 |
}; |
585 |
}; |
| 588 |
} |
586 |
} |
| 589 |
} elsif ( not $onsite_checkout ) { |
587 |
} |
| 590 |
if( $max_checkouts_allowed eq '' ){ return;} |
588 |
elsif ( not $onsite_checkout ) { |
| 591 |
if ( $checkout_count - $onsite_checkout_count >= $max_checkouts_allowed ) { |
589 |
if ( $max_checkouts_allowed eq '' ) { return; } |
|
|
590 |
if ( |
| 591 |
$checkout_count - $onsite_checkout_count >= $max_checkouts_allowed ) |
| 592 |
{ |
| 592 |
return { |
593 |
return { |
| 593 |
reason => 'TOO_MANY_CHECKOUTS', |
594 |
reason => 'TOO_MANY_CHECKOUTS', |
| 594 |
count => $checkout_count - $onsite_checkout_count, |
595 |
count => $checkout_count - $onsite_checkout_count, |
| 595 |
max_allowed => $max_checkouts_allowed, |
596 |
max_allowed => $max_checkouts_allowed, |
| 596 |
}; |
597 |
}; |
| 597 |
} |
598 |
} |
| 598 |
- |
|
|