From c548761bc190d9b6a5f2989c0ab01b54f4d61879 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Thu, 8 Mar 2012 12:41:13 +0100 Subject: [PATCH] Bug 7477: Followup: Fix perlcritic issues Signed-off-by: Srdjan Jankovic Signed-off-by: Paul Poulain An existing holiday in a branch is not deleted when the branch is overwritten: * branch B, set today as closed * switch to branch A, where today is not closed * copy holidays to branch B * today is still closed for branch B That's important to notice for the documentation --- C4/Calendar.pm | 51 ++++++++++---------------------------------------- 1 file changed, 10 insertions(+), 41 deletions(-) diff --git a/C4/Calendar.pm b/C4/Calendar.pm index 8ad363fdf9..a9d39dcaaf 100644 --- a/C4/Calendar.pm +++ b/C4/Calendar.pm @@ -582,37 +582,6 @@ sub copy_to_branch { return 1; } -=head2 daysBetween - - my $daysBetween = $calendar->daysBetween($startdate, $enddate) - -C<$startdate> and C<$enddate> are C4::Dates objects that define the interval. - -Returns the number of non-holiday days in the interval. -useDaysMode syspref has no effect here. -=cut - -sub daysBetween ($$$) { - my $self = shift or return undef; - my $startdate = shift or return undef; - my $enddate = shift or return undef; - my ($yearFrom,$monthFrom,$dayFrom) = split("-",$startdate->output('iso')); - my ($yearTo, $monthTo, $dayTo ) = split("-", $enddate->output('iso')); - if (Date_to_Days($yearFrom,$monthFrom,$dayFrom) > Date_to_Days($yearTo,$monthTo,$dayTo)) { - return 0; - # we don't go backwards ( FIXME - handle this error better ) - } - my $count = 0; - while (1) { - ($yearFrom != $yearTo or $monthFrom != $monthTo or $dayFrom != $dayTo) or last; # if they all match, it's the last day - unless ($self->isHoliday($dayFrom, $monthFrom, $yearFrom)) { - $count++; - } - ($yearFrom, $monthFrom, $dayFrom) = &Date::Calc::Add_Delta_Days($yearFrom, $monthFrom, $dayFrom, 1); - } - return($count); -} - =head2 addDate my ($day, $month, $year) = $calendar->addDate($date, $offset) @@ -660,16 +629,16 @@ Returns the number of non-holiday days in the interval. useDaysMode syspref has no effect here. =cut -sub daysBetween ($$$) { - my $self = shift or return undef; - my $startdate = shift or return undef; - my $enddate = shift or return undef; - my ($yearFrom,$monthFrom,$dayFrom) = split("-",$startdate->output('iso')); - my ($yearTo, $monthTo, $dayTo ) = split("-", $enddate->output('iso')); - if (Date_to_Days($yearFrom,$monthFrom,$dayFrom) > Date_to_Days($yearTo,$monthTo,$dayTo)) { - return 0; - # we don't go backwards ( FIXME - handle this error better ) - } +sub daysBetween { + my $self = shift or return; + my $startdate = shift or return; + my $enddate = shift or return; + my ($yearFrom,$monthFrom,$dayFrom) = split("-",$startdate->output('iso')); + my ($yearTo, $monthTo, $dayTo ) = split("-", $enddate->output('iso')); + if (Date_to_Days($yearFrom,$monthFrom,$dayFrom) > Date_to_Days($yearTo,$monthTo,$dayTo)) { + return 0; + # we don't go backwards ( FIXME - handle this error better ) + } my $count = 0; while (1) { ($yearFrom != $yearTo or $monthFrom != $monthTo or $dayFrom != $dayTo) or last; # if they all match, it's the last day -- 2.39.5