Bugzilla – Attachment 89385 Details for
Bug 15260
Option for extended loan with useDaysMode
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 15260: Fix calculation of add amount
Bug-15260-Fix-calculation-of-add-amount.patch (text/plain), 2.76 KB, created by
Liz Rea
on 2019-05-06 17:45:47 UTC
(
hide
)
Description:
Bug 15260: Fix calculation of add amount
Filename:
MIME Type:
Creator:
Liz Rea
Created:
2019-05-06 17:45:47 UTC
Size:
2.76 KB
patch
obsolete
>From 7a930dd6d6c61f3bfc503e717ad41239eb4c60d4 Mon Sep 17 00:00:00 2001 >From: Andrew Isherwood <andrew.isherwood@ptfs-europe.com> >Date: Tue, 26 Mar 2019 14:43:34 +0000 >Subject: [PATCH] Bug 15260: Fix calculation of add amount > >In a sequence of closed days, we should take into account the nature >of each closed day as we encounter it in order to calculate the amount >to add to reach the next potential closed date. We are now doing this. > >Sponsored-by: Cheshire West and Chester and Cheshire East Councils >Sponsored-by: Newcastle City Council >Sponsored-by: Sefton Council > >Signed-off-by: Liz Rea <wizzyrea@gmail.com> >--- > Koha/Calendar.pm | 29 +++++++++++++++++++---------- > 1 file changed, 19 insertions(+), 10 deletions(-) > >diff --git a/Koha/Calendar.pm b/Koha/Calendar.pm >index 3aa7eb31f5..47c1728575 100644 >--- a/Koha/Calendar.pm >+++ b/Koha/Calendar.pm >@@ -217,14 +217,9 @@ sub addDays { > if ( $self->is_holiday($base_date) ) { > my $dow = $base_date->day_of_week; > my $days = $days_duration->in_units('days'); >- my $push_amt = ( >- # We're using Dayweek useDaysMode option >- $self->{days_mode} eq 'Dayweek' && >- # It's period based on weeks >- $days % 7 == 0 && >- # It's not a permanently closed day >- !$self->{weekly_closed_days}->[$dow] == 1 >- ) ? 7 : 1; >+ # Is it a period based on weeks >+ my $push_amt = $days_duration % 7 == 0 ? >+ $self->get_push_amt($base_date) : 1; > if ( $days_duration->is_negative() ) { > $base_date = $self->prev_open_days($base_date, $push_amt); > } else { >@@ -237,6 +232,18 @@ sub addDays { > return $base_date; > } > >+sub get_push_amt { >+ my ( $self, $base_date) = @_; >+ >+ my $dow = $base_date->day_of_week; >+ return ( >+ # We're using Dayweek useDaysMode option >+ $self->{days_mode} eq 'Dayweek' && >+ # It's not a permanently closed day >+ !$self->{weekly_closed_days}->[$dow] == 1 >+ ) ? 7 : 1; >+} >+ > sub is_holiday { > my ( $self, $dt ) = @_; > >@@ -285,7 +292,8 @@ sub next_open_days { > > $base_date->add(days => $to_add); > while ($self->is_holiday($base_date)) { >- $base_date->add(days => $to_add); >+ my $add_next = $self->get_push_amt($base_date); >+ $base_date->add(days => $add_next); > } > return $base_date; > } >@@ -301,7 +309,8 @@ sub prev_open_days { > $base_date->add(days => $to_sub); > > while ($self->is_holiday($base_date)) { >- $base_date->add(days => $to_sub); >+ my $sub_next = $self->get_push_amt($base_date); >+ $base_date->add(days => $sub_next); > } > > return $base_date; >-- >2.11.0
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 15260
:
87906
|
88052
|
88053
|
88054
|
88055
|
88056
|
88057
|
88059
|
88607
|
88608
|
88609
|
88610
|
88611
|
88612
|
88613
|
89178
|
89380
|
89381
|
89382
|
89383
|
89384
|
89385
|
89386
|
89387
|
89388
|
89885
|
94880
|
94881
|
94882
|
94883
|
94884
|
94885
|
94886
|
94887
|
94888
|
94889