From 7542f56a694f4d814f17a5fc93dbfc5704749a6a Mon Sep 17 00:00:00 2001 From: Aleisha Amohia Date: Thu, 3 Mar 2022 10:03:28 +1300 Subject: [PATCH] Bug 8367: (follow-up) Fix pickup delay text on OPAC and other bits --- Koha/Hold.pm | 4 ++-- admin/smart-rules.pl | 2 +- .../opac-tmpl/bootstrap/en/modules/opac-reserve.tt | 24 +++++++++++++--------- opac/opac-reserve.pl | 8 ++++++-- 4 files changed, 23 insertions(+), 15 deletions(-) diff --git a/Koha/Hold.pm b/Koha/Hold.pm index 1861abe3086..3cbc7aa4b92 100644 --- a/Koha/Hold.pm +++ b/Koha/Hold.pm @@ -189,8 +189,6 @@ sub set_waiting { my $max_pickup_delay = C4::Context->preference("ReservesMaxPickUpDelay"); my $cancel_on_holidays = C4::Context->preference('ExpireReservesOnHolidays'); - my $new_expiration_date = $today->clone->add(days => $max_pickup_delay); - my $rule = Koha::CirculationRules->get_effective_rule({ categorycode => $self->borrower->categorycode, itemtype => $self->item->effective_itemtype, @@ -202,6 +200,8 @@ sub set_waiting { $max_pickup_delay = $rule->rule_value; } + my $new_expiration_date = $today->clone->add(days => $max_pickup_delay); + if ( C4::Context->preference("ExcludeHolidaysFromMaxPickUpDelay") ) { my $itemtype = $self->item ? $self->item->effective_itemtype : $self->biblio->itemtype; my $daysmode = Koha::CirculationRules->get_effective_daysmode( diff --git a/admin/smart-rules.pl b/admin/smart-rules.pl index 61a822b6e0f..bd3f319fddc 100755 --- a/admin/smart-rules.pl +++ b/admin/smart-rules.pl @@ -287,7 +287,7 @@ elsif ($op eq 'add') { my $cap_fine_to_replacement_price = ($input->param('cap_fine_to_replacement_price') || '') eq 'on'; my $note = $input->param('note'); my $decreaseloanholds = $input->param('decreaseloanholds') || undef; - my $holds_pickup_period = strip_non_numeric($input->param('holds_pickup_period')); + my $holds_pickup_period = strip_non_numeric( scalar $input->param('holds_pickup_period') ); my $rules = { maxissueqty => $maxissueqty, diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt index 25982fb3011..1679fa6db35 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt @@ -274,7 +274,7 @@ [% IF pickup_delays %] - + [% END %] @@ -513,13 +513,17 @@ } function calculate_delay_days(){ - var selected_branch = $("#branch_1").val(); - [% FOREACH branchcode IN pickup_delays.keys %] - var branchcode = "[% branchcode | html %]"; - if ( branchcode == selected_branch ) { - $("#pickup_delay_days").text([% pickup_delays.$branchcode | html %]); - } - [% END %] + $(".branch > select").each(function(){ + var selected_branch = $(this).val(); + var branch_biblionumber = $(this).attr('id'); + var biblionumber = branch_biblionumber.slice( branch_biblionumber.indexOf('_')+1 ); + [% FOREACH branchcode IN pickup_delays.keys %] + var branchcode = "[% branchcode | html %]"; + if ( branchcode == selected_branch ) { + $("#pickup_delay_days_" + biblionumber).text([% pickup_delays.$branchcode | html %]); + } + [% END %] + }); } $(document).ready(function() { @@ -530,8 +534,8 @@ }); calculate_delay_days(); - $("#pickup_delay").show(); - $("#branch_1").change(function(){ + $(".pickup_delay").show(); + $(".branch > select").change(function(){ calculate_delay_days(); }); diff --git a/opac/opac-reserve.pl b/opac/opac-reserve.pl index ae6ecf23eb5..25724facd13 100755 --- a/opac/opac-reserve.pl +++ b/opac/opac-reserve.pl @@ -689,7 +689,7 @@ if ( ); } -my @branches = Koha::Libraries->search(); +my @branches = Koha::Libraries->search->as_list; my %hold_pickup_delay_by_branch = (); foreach my $branch ( @branches ) { @@ -699,7 +699,11 @@ foreach my $branch ( @branches ) { itemtype => undef, rule_name => 'holds_pickup_period', }); - $hold_pickup_delay_by_branch{$branch->branchcode} = $rule->rule_value if ( $rule and $rule->rule_value ); + if ( $rule and $rule->rule_value ) { + $hold_pickup_delay_by_branch{$branch->branchcode} = $rule->rule_value; + } else { + $hold_pickup_delay_by_branch{$branch->branchcode} = C4::Context->preference('ReservesMaxPickUpDelay'); + } } $template->param( pickup_delays => \%hold_pickup_delay_by_branch ); -- 2.11.0