|
Lines 7-13
use CGI;
Link Here
|
| 7 |
|
7 |
|
| 8 |
use C4::Auth; |
8 |
use C4::Auth; |
| 9 |
use C4::Output; |
9 |
use C4::Output; |
| 10 |
|
10 |
use DateTime; |
| 11 |
|
11 |
|
| 12 |
use C4::Calendar; |
12 |
use C4::Calendar; |
| 13 |
|
13 |
|
|
Lines 19-28
my $weekday = $input->param('showWeekday');
Link Here
|
| 19 |
my $day = $input->param('showDay'); |
19 |
my $day = $input->param('showDay'); |
| 20 |
my $month = $input->param('showMonth'); |
20 |
my $month = $input->param('showMonth'); |
| 21 |
my $year = $input->param('showYear'); |
21 |
my $year = $input->param('showYear'); |
|
|
22 |
my $day1; |
| 23 |
my $month1; |
| 24 |
my $year1; |
| 22 |
my $title = $input->param('showTitle'); |
25 |
my $title = $input->param('showTitle'); |
| 23 |
my $description = $input->param('showDescription'); |
26 |
my $description = $input->param('showDescription'); |
| 24 |
my $holidaytype = $input->param('showHolidayType'); |
27 |
my $holidaytype = $input->param('showHolidayType'); |
| 25 |
|
28 |
my $datecancelrange = $input->param('datecancelrange'); |
| 26 |
my $calendardate = sprintf("%04d-%02d-%02d", $year, $month, $day); |
29 |
my $calendardate = sprintf("%04d-%02d-%02d", $year, $month, $day); |
| 27 |
my $isodate = C4::Dates->new($calendardate, 'iso'); |
30 |
my $isodate = C4::Dates->new($calendardate, 'iso'); |
| 28 |
$calendardate = $isodate->output('syspref'); |
31 |
$calendardate = $isodate->output('syspref'); |
|
Lines 36-48
if ($description) {
Link Here
|
| 36 |
} else { |
39 |
} else { |
| 37 |
$description = ''; |
40 |
$description = ''; |
| 38 |
} |
41 |
} |
| 39 |
|
42 |
my @dateend = split(/[\/-]/, $datecancelrange); |
|
|
43 |
if (C4::Context->preference("dateformat") eq "metric") { |
| 44 |
$day1 = $dateend[0]; |
| 45 |
$month1 = $dateend[1]; |
| 46 |
$year1 = $dateend[2]; |
| 47 |
}elsif (C4::Context->preference("dateformat") eq "us") { |
| 48 |
$month1 = $dateend[0]; |
| 49 |
$day1 = $dateend[1]; |
| 50 |
$year1 = $dateend[2]; |
| 51 |
} else { |
| 52 |
$year1 = $dateend[0]; |
| 53 |
$month1 = $dateend[1]; |
| 54 |
$day1 = $dateend[2]; |
| 55 |
} |
| 40 |
if ($input->param('showOperation') eq 'exception') { |
56 |
if ($input->param('showOperation') eq 'exception') { |
| 41 |
$calendar->insert_exception_holiday(day => $day, |
57 |
$calendar->insert_exception_holiday(day => $day, |
| 42 |
month => $month, |
58 |
month => $month, |
| 43 |
year => $year, |
59 |
year => $year, |
| 44 |
title => $title, |
60 |
title => $title, |
| 45 |
description => $description); |
61 |
description => $description); |
|
|
62 |
} elsif ($input->param('showOperation') eq 'exceptionrange' ) { |
| 63 |
#Make an array with holiday's days |
| 64 |
my $first_dt = DateTime->new(year => $year, month => $month, day => $day); |
| 65 |
my $end_dt = DateTime->new(year => $year1, month => $month1, day => $day1); |
| 66 |
my @holiday_list = (); |
| 67 |
|
| 68 |
for (my $dt = $first_dt->clone(); |
| 69 |
$dt <= $end_dt; |
| 70 |
$dt->add(days => 1) ) |
| 71 |
{ |
| 72 |
push @holiday_list, $dt->clone(); |
| 73 |
} |
| 74 |
|
| 75 |
foreach my $date (@holiday_list){ |
| 76 |
$calendar->insert_exception_holiday( |
| 77 |
day => $date->{local_c}->{day}, |
| 78 |
month => $date->{local_c}->{month}, |
| 79 |
year => $date->{local_c}->{year}, |
| 80 |
title => $title, |
| 81 |
description => $description |
| 82 |
); |
| 83 |
} |
| 46 |
} elsif ($input->param('showOperation') eq 'edit') { |
84 |
} elsif ($input->param('showOperation') eq 'edit') { |
| 47 |
if($holidaytype eq 'weekday') { |
85 |
if($holidaytype eq 'weekday') { |
| 48 |
$calendar->ModWeekdayholiday(weekday => $weekday, |
86 |
$calendar->ModWeekdayholiday(weekday => $weekday, |
|
Lines 71-75
if ($input->param('showOperation') eq 'exception') {
Link Here
|
| 71 |
day => $day, |
109 |
day => $day, |
| 72 |
month => $month, |
110 |
month => $month, |
| 73 |
year => $year); |
111 |
year => $year); |
|
|
112 |
}elsif ($input->param('showOperation') eq 'deleterange') { |
| 113 |
if ($year1 && $month1 && $day1){ |
| 114 |
#Make an array with holiday's days |
| 115 |
my $first_dt = DateTime->new(year => $year, month => $month, day => $day); |
| 116 |
my $end_dt = DateTime->new(year => $year1, month => $month1, day => $day1); |
| 117 |
my @holiday_list = (); |
| 118 |
for (my $dt = $first_dt->clone(); $dt <= $end_dt; $dt->add(days => 1) ){ |
| 119 |
push @holiday_list, $dt->clone(); |
| 120 |
} |
| 121 |
foreach my $date (@holiday_list){ |
| 122 |
$calendar->delete_holiday_range(weekday => $weekday, |
| 123 |
day => $date->{local_c}->{day}, |
| 124 |
month => $date->{local_c}->{month}, |
| 125 |
year => $date->{local_c}->{year}); |
| 126 |
} |
| 127 |
} |
| 128 |
}elsif ($input->param('showOperation') eq 'deleterangerepeat') { |
| 129 |
if ($year1 && $month1 && $day1){ |
| 130 |
#Make an array with holiday's days |
| 131 |
my $first_dt = DateTime->new(year => $year, month => $month, day => $day); |
| 132 |
my $end_dt = DateTime->new(year => $year1, month => $month1, day => $day1); |
| 133 |
my @holiday_list = (); |
| 134 |
for (my $dt = $first_dt->clone(); $dt <= $end_dt; $dt->add(days => 1) ){ |
| 135 |
push @holiday_list, $dt->clone(); |
| 136 |
} |
| 137 |
foreach my $date (@holiday_list){ |
| 138 |
$calendar->delete_holiday_range_repeatable(weekday => $weekday, |
| 139 |
day => $date->{local_c}->{day}, |
| 140 |
month => $date->{local_c}->{month}); |
| 141 |
} |
| 142 |
} |
| 143 |
}elsif ($input->param('showOperation') eq 'deleterangerepeatexcept') { |
| 144 |
if ($year1 && $month1 && $day1){ |
| 145 |
#Make an array with holiday's days |
| 146 |
my $first_dt = DateTime->new(year => $year, month => $month, day => $day); |
| 147 |
my $end_dt = DateTime->new(year => $year1, month => $month1, day => $day1); |
| 148 |
my @holiday_list = (); |
| 149 |
for (my $dt = $first_dt->clone(); $dt <= $end_dt; $dt->add(days => 1) ){ |
| 150 |
push @holiday_list, $dt->clone(); |
| 151 |
} |
| 152 |
foreach my $date (@holiday_list){ |
| 153 |
$calendar->delete_exception_holiday_range(weekday => $weekday, |
| 154 |
day => $date->{local_c}->{day}, |
| 155 |
month => $date->{local_c}->{month}); |
| 156 |
} |
| 157 |
} |
| 74 |
} |
158 |
} |
| 75 |
print $input->redirect("/cgi-bin/koha/tools/holidays.pl?branch=$branchcode&calendardate=$calendardate"); |
159 |
print $input->redirect("/cgi-bin/koha/tools/holidays.pl?branch=$branchcode&calendardate=$calendardate"); |