Lines 397-403
sub TooMany {
Link Here
|
397 |
|
397 |
|
398 |
# given branch, patron category, and item type, determine |
398 |
# given branch, patron category, and item type, determine |
399 |
# applicable issuing rule |
399 |
# applicable issuing rule |
400 |
my $issuing_rule = Koha::IssuingRules->get_effective_issuing_rule({ categorycode => $cat_borrower, itemtype => $type, branchcode => $branch }); |
400 |
my $issuing_rule = Koha::IssuingRules->get_effective_issuing_rule( |
|
|
401 |
{ categorycode => $cat_borrower, |
402 |
itemtype => $type, |
403 |
branchcode => $branch |
404 |
} |
405 |
); |
406 |
|
401 |
|
407 |
|
402 |
# if a rule is found and has a loan limit set, count |
408 |
# if a rule is found and has a loan limit set, count |
403 |
# how many loans the patron already has that meet that |
409 |
# how many loans the patron already has that meet that |
Lines 1333-1339
sub AddIssue {
Link Here
|
1333 |
|
1339 |
|
1334 |
# If automatic renewal wasn't selected while issuing, set the value according to the issuing rule. |
1340 |
# If automatic renewal wasn't selected while issuing, set the value according to the issuing rule. |
1335 |
unless ($auto_renew) { |
1341 |
unless ($auto_renew) { |
1336 |
my $issuing_rule = Koha::IssuingRules->get_effective_issuing_rule({ categorycode => $borrower->{categorycode}, itemtype => $item->{itype}, branchcode => $branch }); |
1342 |
my $issuing_rule = Koha::IssuingRules->get_effective_issuing_rule( |
|
|
1343 |
{ categorycode => $borrower->{categorycode}, |
1344 |
itemtype => $item->{itype}, |
1345 |
branchcode => $branch |
1346 |
} |
1347 |
); |
1348 |
|
1337 |
$auto_renew = $issuing_rule->auto_renew if $issuing_rule; |
1349 |
$auto_renew = $issuing_rule->auto_renew if $issuing_rule; |
1338 |
} |
1350 |
} |
1339 |
|
1351 |
|
Lines 1533-1539
Get the Hard Due Date and it's comparison for an itemtype, a borrower type and a
Link Here
|
1533 |
sub GetHardDueDate { |
1545 |
sub GetHardDueDate { |
1534 |
my ( $borrowertype, $itemtype, $branchcode ) = @_; |
1546 |
my ( $borrowertype, $itemtype, $branchcode ) = @_; |
1535 |
|
1547 |
|
1536 |
my $issuing_rule = Koha::IssuingRules->get_effective_issuing_rule({ categorycode => $borrowertype, itemtype => $itemtype, branchcode => $branchcode }); |
1548 |
my $issuing_rule = Koha::IssuingRules->get_effective_issuing_rule( |
|
|
1549 |
{ categorycode => $borrowertype, |
1550 |
itemtype => $itemtype, |
1551 |
branchcode => $branchcode |
1552 |
} |
1553 |
); |
1554 |
|
1537 |
|
1555 |
|
1538 |
if ( defined( $issuing_rule ) ) { |
1556 |
if ( defined( $issuing_rule ) ) { |
1539 |
if ( $issuing_rule->hardduedate ) { |
1557 |
if ( $issuing_rule->hardduedate ) { |
Lines 2185-2191
sub _debar_user_on_return {
Link Here
|
2185 |
my $branchcode = _GetCircControlBranch( $item, $borrower ); |
2203 |
my $branchcode = _GetCircControlBranch( $item, $borrower ); |
2186 |
|
2204 |
|
2187 |
my $circcontrol = C4::Context->preference('CircControl'); |
2205 |
my $circcontrol = C4::Context->preference('CircControl'); |
2188 |
my $issuing_rule = Koha::IssuingRules->get_effective_issuing_rule({ categorycode => $borrower->{categorycode}, itemtype => $item->{itype}, branchcode => $branchcode }); |
2206 |
my $issuing_rule = Koha::IssuingRules->get_effective_issuing_rule( |
|
|
2207 |
{ categorycode => $borrower->{categorycode}, |
2208 |
itemtype => $item->{itype}, |
2209 |
branchcode => $branchcode |
2210 |
} |
2211 |
); |
2189 |
my $finedays = $issuing_rule ? $issuing_rule->finedays : undef; |
2212 |
my $finedays = $issuing_rule ? $issuing_rule->finedays : undef; |
2190 |
my $unit = $issuing_rule ? $issuing_rule->lengthunit : undef; |
2213 |
my $unit = $issuing_rule ? $issuing_rule->lengthunit : undef; |
2191 |
my $chargeable_units = C4::Overdues::get_chargeable_units($unit, $dt_due, $dt_today, $branchcode); |
2214 |
my $chargeable_units = C4::Overdues::get_chargeable_units($unit, $dt_due, $dt_today, $branchcode); |
Lines 2780-2786
sub CanBookBeRenewed {
Link Here
|
2780 |
return ( 1, undef ) if $override_limit; |
2803 |
return ( 1, undef ) if $override_limit; |
2781 |
|
2804 |
|
2782 |
my $branchcode = _GetCircControlBranch( $item, $borrower ); |
2805 |
my $branchcode = _GetCircControlBranch( $item, $borrower ); |
2783 |
my $issuing_rule = Koha::IssuingRules->get_effective_issuing_rule({ categorycode => $borrower->{categorycode}, itemtype => $item->{itype}, branchcode => $branchcode }); |
2806 |
my $issuing_rule = Koha::IssuingRules->get_effective_issuing_rule( |
|
|
2807 |
{ categorycode => $borrower->{categorycode}, |
2808 |
itemtype => $item->{itype}, |
2809 |
branchcode => $branchcode |
2810 |
} |
2811 |
); |
2784 |
|
2812 |
|
2785 |
return ( 0, "too_many" ) |
2813 |
return ( 0, "too_many" ) |
2786 |
if not $issuing_rule or $issuing_rule->renewalsallowed <= $itemissue->{renewals}; |
2814 |
if not $issuing_rule or $issuing_rule->renewalsallowed <= $itemissue->{renewals}; |
Lines 3022-3028
sub GetRenewCount {
Link Here
|
3022 |
# $item and $borrower should be calculated |
3050 |
# $item and $borrower should be calculated |
3023 |
my $branchcode = _GetCircControlBranch($item, $borrower); |
3051 |
my $branchcode = _GetCircControlBranch($item, $borrower); |
3024 |
|
3052 |
|
3025 |
my $issuing_rule = Koha::IssuingRules->get_effective_issuing_rule({ categorycode => $borrower->{categorycode}, itemtype => $item->{itype}, branchcode => $branchcode }); |
3053 |
my $issuing_rule = Koha::IssuingRules->get_effective_issuing_rule( |
|
|
3054 |
{ categorycode => $borrower->{categorycode}, |
3055 |
itemtype => $item->{itype}, |
3056 |
branchcode => $branchcode |
3057 |
} |
3058 |
); |
3026 |
|
3059 |
|
3027 |
$renewsallowed = $issuing_rule ? $issuing_rule->renewalsallowed : undef; # FIXME Just replace undef with 0 to get what we expected. But what about the side-effects? TODO LATER |
3060 |
$renewsallowed = $issuing_rule ? $issuing_rule->renewalsallowed : undef; # FIXME Just replace undef with 0 to get what we expected. But what about the side-effects? TODO LATER |
3028 |
$renewsleft = $renewsallowed - $renewcount; |
3061 |
$renewsleft = $renewsallowed - $renewcount; |
Lines 3062-3068
sub GetSoonestRenewDate {
Link Here
|
3062 |
or return; |
3095 |
or return; |
3063 |
|
3096 |
|
3064 |
my $branchcode = _GetCircControlBranch( $item, $borrower ); |
3097 |
my $branchcode = _GetCircControlBranch( $item, $borrower ); |
3065 |
my $issuing_rule = Koha::IssuingRules->get_effective_issuing_rule({ categorycode => $borrower->{categorycode}, itemtype => $item->{itype}, branchcode => $branchcode }); |
3098 |
my $issuing_rule = Koha::IssuingRules->get_effective_issuing_rule( |
|
|
3099 |
{ categorycode => $borrower->{categorycode}, |
3100 |
itemtype => $item->{itype}, |
3101 |
branchcode => $branchcode |
3102 |
} |
3103 |
); |
3066 |
|
3104 |
|
3067 |
my $now = dt_from_string; |
3105 |
my $now = dt_from_string; |
3068 |
return $now unless $issuing_rule; |
3106 |
return $now unless $issuing_rule; |
Lines 3117-3123
sub GetLatestAutoRenewDate {
Link Here
|
3117 |
or return; |
3155 |
or return; |
3118 |
|
3156 |
|
3119 |
my $branchcode = _GetCircControlBranch( $item, $borrower ); |
3157 |
my $branchcode = _GetCircControlBranch( $item, $borrower ); |
3120 |
my $issuing_rule = Koha::IssuingRules->get_effective_issuing_rule({ categorycode => $borrower->{categorycode}, itemtype => $item->{itype}, branchcode => $branchcode }); |
3158 |
my $issuing_rule = Koha::IssuingRules->get_effective_issuing_rule( |
|
|
3159 |
{ categorycode => $borrower->{categorycode}, |
3160 |
itemtype => $item->{itype}, |
3161 |
branchcode => $branchcode |
3162 |
} |
3163 |
); |
3121 |
|
3164 |
|
3122 |
return unless $issuing_rule; |
3165 |
return unless $issuing_rule; |
3123 |
return if not $issuing_rule->no_auto_renewal_after |
3166 |
return if not $issuing_rule->no_auto_renewal_after |
3124 |
- |
|
|