diff --git a/C4/Circulation.pm b/C4/Circulation.pm index cc4a95a3ea..67a986b417 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -1241,14 +1241,14 @@ sub checkHighHolds { my $issuedate = dt_from_string(); my $itype = $item_object->effective_itemtype; - my $useDaysMode_value = Koha::CirculationRules->get_useDaysMode_effective_value( + my $daysmode = Koha::CirculationRules->get_effective_daysmode( { categorycode => $borrower->{categorycode}, itemtype => $itype, branchcode => $branchcode, } ); - my $calendar = Koha::Calendar->new( branchcode => $branchcode, days_mode => $useDaysMode_value ); + my $calendar = Koha::Calendar->new( branchcode => $branchcode, days_mode => $daysmode ); my $orig_due = C4::Circulation::CalcDateDue( $issuedate, $itype, $branchcode, $borrower ); @@ -3583,7 +3583,7 @@ sub updateWrongTransfer { $newdatedue = CalcDateDue($startdate,$itemtype,$branchcode,$borrower); this function calculates the due date given the start date and configured circulation rules, -checking against the holidays calendar as per the useDaysMode circulation rule. +checking against the holidays calendar as per the daysmode circulation rule. C<$startdate> = DateTime object representing start date of loan period (assumed to be today) C<$itemtype> = itemtype code of item in question C<$branch> = location whose calendar to use @@ -3617,7 +3617,7 @@ sub CalcDateDue { } - my $useDaysMode_value = Koha::CirculationRules->get_useDaysMode_effective_value( + my $daysmode = Koha::CirculationRules->get_effective_daysmode( { categorycode => $borrower->{categorycode}, itemtype => $itemtype, @@ -3626,7 +3626,7 @@ sub CalcDateDue { ); # calculate the datedue as normal - if ( $useDaysMode_value eq 'Days' ) + if ( $daysmode eq 'Days' ) { # ignoring calendar if ( $loanlength->{lengthunit} eq 'hours' ) { $datedue->add( hours => $loanlength->{$length_key} ); @@ -3643,7 +3643,7 @@ sub CalcDateDue { else { # days $dur = DateTime::Duration->new( days => $loanlength->{$length_key}); } - my $calendar = Koha::Calendar->new( branchcode => $branch, days_mode => $useDaysMode_value ); + my $calendar = Koha::Calendar->new( branchcode => $branch, days_mode => $daysmode ); $datedue = $calendar->addDate( $datedue, $dur, $loanlength->{lengthunit} ); if ($loanlength->{lengthunit} eq 'days') { $datedue->set_hour(23); @@ -3681,8 +3681,8 @@ sub CalcDateDue { $datedue = $expiry_dt->clone->set_time_zone( C4::Context->tz ); } } - if ( $useDaysMode_value ne 'Days' ) { - my $calendar = Koha::Calendar->new( branchcode => $branch, days_mode => $useDaysMode_value ); + if ( $daysmode ne 'Days' ) { + my $calendar = Koha::Calendar->new( branchcode => $branch, days_mode => $daysmode ); if ( $calendar->is_holiday($datedue) ) { # Don't return on a closed day $datedue = $calendar->prev_open_days( $datedue, 1 ); diff --git a/Koha/Checkouts.pm b/Koha/Checkouts.pm index 1f33cb1d81..2ade76e20e 100644 --- a/Koha/Checkouts.pm +++ b/Koha/Checkouts.pm @@ -48,14 +48,14 @@ sub calculate_dropbox_date { my $userenv = C4::Context->userenv; my $branchcode = $userenv->{branch} // q{}; - my $useDaysMode_value = Koha::CirculationRules->get_useDaysMode_effective_value( + my $daysmode = Koha::CirculationRules->get_effective_daysmode( { categorycode => undef, itemtype => undef, branchcode => $branchcode, } ); - my $calendar = Koha::Calendar->new( branchcode => $branchcode, days_mode => $useDaysMode_value ); + my $calendar = Koha::Calendar->new( branchcode => $branchcode, days_mode => $daysmode ); my $today = dt_from_string; my $dropbox_date = $calendar->addDate( $today, -1 ); diff --git a/Koha/CirculationRules.pm b/Koha/CirculationRules.pm index 17e7674130..790f30498d 100644 --- a/Koha/CirculationRules.pm +++ b/Koha/CirculationRules.pm @@ -109,7 +109,7 @@ our $RULE_KINDS = { issuelength => { scope => [ 'branchcode', 'categorycode', 'itemtype' ], }, - useDaysMode => { + daysmode => { scope => [ 'branchcode', 'categorycode', 'itemtype' ], }, lengthunit => { @@ -490,32 +490,32 @@ sub guess_article_requestable_itemtypes { return $res; } -=head3 get_useDaysMode_effective_value +=head3 get_daysmode_effective_value -Return the value for useDaysMode defined in the circulation rules. +Return the value for daysmode defined in the circulation rules. If not defined (or empty string), the value of the system preference useDaysMode is returned =cut -sub get_useDaysMode_effective_value { +sub get_effective_daysmode { my ( $class, $params ) = @_; my $categorycode = $params->{categorycode}; my $itemtype = $params->{itemtype}; my $branchcode = $params->{branchcode}; - my $useDaysMode_rule = $class->get_effective_rule( + my $daysmode_rule = $class->get_effective_rule( { categorycode => $categorycode, itemtype => $itemtype, branchcode => $branchcode, - rule_name => 'useDaysMode', + rule_name => 'daysmode', } ); - return ( defined($useDaysMode_rule) - and $useDaysMode_rule->rule_value ne '' ) - ? $useDaysMode_rule->rule_value + return ( defined($daysmode_rule) + and $daysmode_rule->rule_value ne '' ) + ? $daysmode_rule->rule_value : C4::Context->preference('useDaysMode'); } diff --git a/Koha/Hold.pm b/Koha/Hold.pm index 700c85572a..8969e32839 100644 --- a/Koha/Hold.pm +++ b/Koha/Hold.pm @@ -184,14 +184,14 @@ sub set_waiting { if ( C4::Context->preference("ExcludeHolidaysFromMaxPickUpDelay") ) { my $itemtype = $self->item ? $self->item->effective_itemtype : $self->biblio->itemtype; - my $useDaysMode_value = Koha::CirculationRules->get_useDaysMode_effective_value( + my $daysmode = Koha::CirculationRules->get_effective_daysmode( { categorycode => $self->borrower->categorycode, itemtype => $itemtype, branchcode => $self->branchcode, } ); - my $calendar = Koha::Calendar->new( branchcode => $self->branchcode, days_mode => $useDaysMode_value ); + my $calendar = Koha::Calendar->new( branchcode => $self->branchcode, days_mode => $daysmode ); $expirationdate = $calendar->days_forward( dt_from_string(), $max_pickup_delay ); } diff --git a/admin/smart-rules.pl b/admin/smart-rules.pl index a76cbbac3c..20da1b1d6d 100755 --- a/admin/smart-rules.pl +++ b/admin/smart-rules.pl @@ -94,7 +94,7 @@ if ($op eq 'delete') { chargeperiod => undef, chargeperiod_charge_at => undef, issuelength => undef, - useDaysMode => undef, + daysmode => undef, lengthunit => undef, hardduedate => undef, hardduedatecompare => undef, @@ -279,7 +279,7 @@ elsif ($op eq 'add') { my $onshelfholds = $input->param('onshelfholds') || 0; my $issuelength = $input->param('issuelength'); $issuelength = $issuelength eq q{} ? undef : $issuelength; - my $useDaysMode = $input->param('useDaysMode'); + my $daysmode = $input->param('daysmode'); my $lengthunit = $input->param('lengthunit'); my $hardduedate = $input->param('hardduedate') || undef; $hardduedate = eval { dt_from_string( $input->param('hardduedate') ) } if ( $hardduedate ); @@ -305,7 +305,7 @@ elsif ($op eq 'add') { chargeperiod => $chargeperiod, chargeperiod_charge_at => $chargeperiod_charge_at, issuelength => $issuelength, - useDaysMode => $useDaysMode, + daysmode => $daysmode, lengthunit => $lengthunit, hardduedate => $hardduedate, hardduedatecompare => $hardduedatecompare, diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt index dcd53bbb13..ce3531596d 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt @@ -131,7 +131,7 @@ [% SET maxissueqty = all_rules.$c.$i.maxissueqty %] [% SET maxonsiteissueqty = all_rules.$c.$i.maxonsiteissueqty %] [% SET issuelength = all_rules.$c.$i.issuelength %] - [% SET useDaysMode = all_rules.$c.$i.useDaysMode %] + [% SET daysmode = all_rules.$c.$i.daysmode %] [% SET lengthunit = all_rules.$c.$i.lengthunit %] [% SET hardduedate = all_rules.$c.$i.hardduedate %] [% SET hardduedatecompare = all_rules.$c.$i.hardduedatecompare %] @@ -158,7 +158,7 @@ [% SET article_requests = all_rules.$c.$i.article_requests %] [% SET rentaldiscount = all_rules.$c.$i.rentaldiscount %] - [% SET show_rule = maxissueqty || maxonsiteissueqty || issuelength || useDaysMode || lengthunit || hardduedate || hardduedatebefore || hardduedateexact || fine || chargeperiod || chargeperiod_charge_at || firstremind || overduefinescap || cap_fine_to_replacement_price || finedays || maxsuspensiondays || suspension_chargeperiod || renewalsallowed || renewalsallowed || norenewalbefore || auto_renew || no_auto_renewal_after || no_auto_renewal_after_hard_limit || reservesallowed || holds_per_day || holds_per_record || onshelfholds || opacitemholds || article_requests || article_requests %] + [% SET show_rule = maxissueqty || maxonsiteissueqty || issuelength || daysmode || lengthunit || hardduedate || hardduedatebefore || hardduedateexact || fine || chargeperiod || chargeperiod_charge_at || firstremind || overduefinescap || cap_fine_to_replacement_price || finedays || maxsuspensiondays || suspension_chargeperiod || renewalsallowed || renewalsallowed || norenewalbefore || auto_renew || no_auto_renewal_after || no_auto_renewal_after_hard_limit || reservesallowed || holds_per_day || holds_per_record || onshelfholds || opacitemholds || article_requests || article_requests %] [% IF show_rule %] [% SET row_count = row_count + 1 %]