X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=tools%2FnewHolidays.pl;h=646276c4efc05ddd814e712004872ff21d9c49dd;hb=5d6c092921919526ade501facb1220f8a108a08f;hp=c36d328f80adef5dc1b9839c2cddc87983e529f2;hpb=2202ee78c3abf41aa46d131036b1a4162c8faf35;p=koha_fer diff --git a/tools/newHolidays.pl b/tools/newHolidays.pl index c36d328f80..646276c4ef 100755 --- a/tools/newHolidays.pl +++ b/tools/newHolidays.pl @@ -15,19 +15,19 @@ use DateTime; my $input = new CGI; my $dbh = C4::Context->dbh(); -my $branchcode = $input->param('newBranchName'); +our $branchcode = $input->param('newBranchName'); my $originalbranchcode = $branchcode; -my $weekday = $input->param('newWeekday'); -my $day = $input->param('newDay'); -my $month = $input->param('newMonth'); -my $year = $input->param('newYear'); +our $weekday = $input->param('newWeekday'); +our $day = $input->param('newDay'); +our $month = $input->param('newMonth'); +our $year = $input->param('newYear'); my $day1; my $month1; my $year1; my $dateofrange = $input->param('dateofrange'); -my $title = $input->param('newTitle'); -my $description = $input->param('newDescription'); -my $newoperation = $input->param('newOperation'); +our $title = $input->param('newTitle'); +our $description = $input->param('newDescription'); +our $newoperation = $input->param('newOperation'); my $allbranches = $input->param('allBranches'); my $calendardate = sprintf("%04d-%02d-%02d", $year, $month, $day); @@ -56,6 +56,20 @@ if ($description) { $description = ''; } +# We make an array with holiday's days +our @holiday_list; +if ($year1 && $month1 && $day1){ + my $first_dt = DateTime->new(year => $year, month => $month, day => $day); + my $end_dt = DateTime->new(year => $year1, month => $month1, day => $day1); + + for (my $dt = $first_dt->clone(); + $dt <= $end_dt; + $dt->add(days => 1) ) + { + push @holiday_list, $dt->clone(); + } +} + if($allbranches) { my $branch; my @branchcodes = split(/\|/, $input->param('branchCodes')); @@ -100,50 +114,30 @@ sub add_holiday { } } elsif ( $newoperation eq 'holidayrange' ) { - #Make an array with holiday's days - my $first_dt = DateTime->new(year => $year, month => $month, day => $day); - my $end_dt = DateTime->new(year => $year1, month => $month1, day => $day1); - my @holiday_list = (); - - for (my $dt = $first_dt->clone(); - $dt <= $end_dt; - $dt->add(days => 1) ) - { - push @holiday_list, $dt->clone(); - } - - foreach my $date (@holiday_list){ - unless ( $calendar->isHoliday( $date->{local_c}->{day}, $date->{local_c}->{month}, $date->{local_c}->{year} ) ) { - $calendar->insert_single_holiday( - day => $date->{local_c}->{day}, - month => $date->{local_c}->{month}, - year => $date->{local_c}->{year}, - title => $title, - description => $description - ); + if (@holiday_list){ + foreach my $date (@holiday_list){ + unless ( $calendar->isHoliday( $date->{local_c}->{day}, $date->{local_c}->{month}, $date->{local_c}->{year} ) ) { + $calendar->insert_single_holiday( + day => $date->{local_c}->{day}, + month => $date->{local_c}->{month}, + year => $date->{local_c}->{year}, + title => $title, + description => $description + ); + } } } } elsif ( $newoperation eq 'holidayrangerepeat' ) { - #Make an array with holiday's days - my $first_dt = DateTime->new(year => $year, month => $month, day => $day); - my $end_dt = DateTime->new(year => $year1, month => $month1, day => $day1); - my @holiday_list = (); - - for (my $dt = $first_dt->clone(); - $dt <= $end_dt; - $dt->add(days => 1) ) - { - push @holiday_list, $dt->clone(); - } - - foreach my $date (@holiday_list){ - unless ( $calendar->isHoliday( $date->{local_c}->{day}, $date->{local_c}->{month}, $date->{local_c}->{year} ) ) { - $calendar->insert_day_month_holiday( - day => $date->{local_c}->{day}, - month => $date->{local_c}->{month}, - title => $title, - description => $description - ); + if (@holiday_list){ + foreach my $date (@holiday_list){ + unless ( $calendar->isHoliday( $date->{local_c}->{day}, $date->{local_c}->{month}, $date->{local_c}->{year} ) ) { + $calendar->insert_day_month_holiday( + day => $date->{local_c}->{day}, + month => $date->{local_c}->{month}, + title => $title, + description => $description + ); + } } } }