|
Lines 48-53
sub _init {
Link Here
|
| 48 |
1; |
48 |
1; |
| 49 |
} |
49 |
} |
| 50 |
|
50 |
|
|
|
51 |
$self->{days_mode} = C4::Context->preference('useDaysMode'); |
| 52 |
$self->{test} = 0; |
| 53 |
return; |
| 54 |
} |
| 55 |
|
| 56 |
|
| 57 |
our ( $exception_holidays, $single_holidays ); |
| 58 |
sub exception_holidays { |
| 59 |
my ( $self ) = @_; |
| 60 |
my $dbh = C4::Context->dbh; |
| 61 |
my $branch = $self->{branchcode}; |
| 62 |
if ( $exception_holidays ) { |
| 63 |
$self->{exception_holidays} = $exception_holidays; |
| 64 |
return $exception_holidays; |
| 65 |
} |
| 51 |
my $exception_holidays_sth = $dbh->prepare( |
66 |
my $exception_holidays_sth = $dbh->prepare( |
| 52 |
'SELECT day, month, year FROM special_holidays WHERE branchcode = ? AND isexception = 1' |
67 |
'SELECT day, month, year FROM special_holidays WHERE branchcode = ? AND isexception = 1' |
| 53 |
); |
68 |
); |
|
Lines 64-75
sub _init {
Link Here
|
| 64 |
} |
79 |
} |
| 65 |
$self->{exception_holidays} = |
80 |
$self->{exception_holidays} = |
| 66 |
DateTime::Set->from_datetimes( dates => $dates ); |
81 |
DateTime::Set->from_datetimes( dates => $dates ); |
|
|
82 |
$exception_holidays = $self->{exception_holidays}; |
| 83 |
return $exception_holidays; |
| 84 |
} |
| 67 |
|
85 |
|
|
|
86 |
sub single_holidays { |
| 87 |
my ( $self ) = @_; |
| 88 |
my $dbh = C4::Context->dbh; |
| 89 |
my $branch = $self->{branchcode}; |
| 90 |
if ( $single_holidays ) { |
| 91 |
$self->{single_holidays} = $single_holidays; |
| 92 |
return $single_holidays; |
| 93 |
} |
| 68 |
my $single_holidays_sth = $dbh->prepare( |
94 |
my $single_holidays_sth = $dbh->prepare( |
| 69 |
'SELECT day, month, year FROM special_holidays WHERE branchcode = ? AND isexception = 0' |
95 |
'SELECT day, month, year FROM special_holidays WHERE branchcode = ? AND isexception = 0' |
| 70 |
); |
96 |
); |
| 71 |
$single_holidays_sth->execute( $branch ); |
97 |
$single_holidays_sth->execute( $branch ); |
| 72 |
$dates = []; |
98 |
my $dates = []; |
| 73 |
while ( my ( $day, $month, $year ) = $single_holidays_sth->fetchrow ) { |
99 |
while ( my ( $day, $month, $year ) = $single_holidays_sth->fetchrow ) { |
| 74 |
push @{$dates}, |
100 |
push @{$dates}, |
| 75 |
DateTime->new( |
101 |
DateTime->new( |
|
Lines 80-90
sub _init {
Link Here
|
| 80 |
)->truncate( to => 'day' ); |
106 |
)->truncate( to => 'day' ); |
| 81 |
} |
107 |
} |
| 82 |
$self->{single_holidays} = DateTime::Set->from_datetimes( dates => $dates ); |
108 |
$self->{single_holidays} = DateTime::Set->from_datetimes( dates => $dates ); |
| 83 |
$self->{days_mode} = C4::Context->preference('useDaysMode'); |
109 |
$single_holidays = $self->{single_holidays}; |
| 84 |
$self->{test} = 0; |
110 |
return $single_holidays; |
| 85 |
return; |
|
|
| 86 |
} |
111 |
} |
| 87 |
|
|
|
| 88 |
sub addDate { |
112 |
sub addDate { |
| 89 |
my ( $self, $startdate, $add_duration, $unit ) = @_; |
113 |
my ( $self, $startdate, $add_duration, $unit ) = @_; |
| 90 |
|
114 |
|
|
Lines 184-190
sub is_holiday {
Link Here
|
| 184 |
|
208 |
|
| 185 |
$localdt->truncate( to => 'day' ); |
209 |
$localdt->truncate( to => 'day' ); |
| 186 |
|
210 |
|
| 187 |
if ( $self->{exception_holidays}->contains($localdt) ) { |
211 |
if ( $self->exception_holidays->contains($localdt) ) { |
| 188 |
# exceptions are not holidays |
212 |
# exceptions are not holidays |
| 189 |
return 0; |
213 |
return 0; |
| 190 |
} |
214 |
} |
|
Lines 204-210
sub is_holiday {
Link Here
|
| 204 |
return 1; |
228 |
return 1; |
| 205 |
} |
229 |
} |
| 206 |
|
230 |
|
| 207 |
if ( $self->{single_holidays}->contains($localdt) ) { |
231 |
if ( $self->single_holidays->contains($localdt) ) { |
| 208 |
return 1; |
232 |
return 1; |
| 209 |
} |
233 |
} |
| 210 |
|
234 |
|
|
Lines 313-319
sub clear_weekly_closed_days {
Link Here
|
| 313 |
sub add_holiday { |
337 |
sub add_holiday { |
| 314 |
my $self = shift; |
338 |
my $self = shift; |
| 315 |
my $new_dt = shift; |
339 |
my $new_dt = shift; |
| 316 |
my @dt = $self->{single_holidays}->as_list; |
340 |
my @dt = $self->single_holidays->as_list; |
| 317 |
push @dt, $new_dt; |
341 |
push @dt, $new_dt; |
| 318 |
$self->{single_holidays} = |
342 |
$self->{single_holidays} = |
| 319 |
DateTime::Set->from_datetimes( dates => \@dt ); |
343 |
DateTime::Set->from_datetimes( dates => \@dt ); |
| 320 |
- |
|
|