Lines 101-106
my $control = C4::Context->preference('CircControl');
Link Here
|
101 |
my $mode = C4::Context->preference('finesMode'); |
101 |
my $mode = C4::Context->preference('finesMode'); |
102 |
my $delim = "\t"; # ? C4::Context->preference('CSVDelimiter') || "\t"; |
102 |
my $delim = "\t"; # ? C4::Context->preference('CSVDelimiter') || "\t"; |
103 |
|
103 |
|
|
|
104 |
my %is_holiday; |
104 |
my $today = dt_from_string(); |
105 |
my $today = dt_from_string(); |
105 |
my $filename; |
106 |
my $filename; |
106 |
if ($log or $output_dir) { |
107 |
if ($log or $output_dir) { |
Lines 130-136
for my $overdue ( @{$overdues} ) {
Link Here
|
130 |
( $control eq 'ItemHomeLibrary' ) ? $overdue->{homebranch} |
131 |
( $control eq 'ItemHomeLibrary' ) ? $overdue->{homebranch} |
131 |
: ( $control eq 'PatronLibrary' ) ? $patron->branchcode |
132 |
: ( $control eq 'PatronLibrary' ) ? $patron->branchcode |
132 |
: $overdue->{branchcode}; |
133 |
: $overdue->{branchcode}; |
133 |
# In final case, CircControl must be PickupLibrary. (branchcode comes from issues table here). |
134 |
|
|
|
135 |
# In final case, CircControl must be PickupLibrary. (branchcode comes from issues table here). |
136 |
if ( !exists $is_holiday{$branchcode} ) { |
137 |
$is_holiday{$branchcode} = set_holiday( $branchcode, $today ); |
138 |
} |
134 |
|
139 |
|
135 |
my $datedue = dt_from_string( $overdue->{date_due} ); |
140 |
my $datedue = dt_from_string( $overdue->{date_due} ); |
136 |
if ( DateTime->compare( $datedue, $today ) == 1 ) { |
141 |
if ( DateTime->compare( $datedue, $today ) == 1 ) { |
Lines 142-148
for my $overdue ( @{$overdues} ) {
Link Here
|
142 |
CalcFine( $overdue, $patron->categorycode, |
147 |
CalcFine( $overdue, $patron->categorycode, |
143 |
$branchcode, $datedue, $today ); |
148 |
$branchcode, $datedue, $today ); |
144 |
|
149 |
|
145 |
if ( $mode eq 'production' ) { |
150 |
# Don't update the fine if today is a holiday. |
|
|
151 |
# This ensures that dropbox mode will remove the correct amount of fine. |
152 |
if ( $mode eq 'production' && !$is_holiday{$branchcode} ) { |
146 |
if ( $amount && $amount > 0 ) { |
153 |
if ( $amount && $amount > 0 ) { |
147 |
UpdateFine( |
154 |
UpdateFine( |
148 |
{ |
155 |
{ |
Lines 186-191
Number of Overdue Items:
Link Here
|
186 |
EOM |
193 |
EOM |
187 |
} |
194 |
} |
188 |
|
195 |
|
|
|
196 |
sub set_holiday { |
197 |
my ( $branch, $dt ) = @_; |
198 |
|
199 |
my $calendar = Koha::Calendar->new( branchcode => $branch ); |
200 |
return $calendar->is_holiday($dt); |
201 |
} |
202 |
|
189 |
sub get_filename { |
203 |
sub get_filename { |
190 |
my $directory = shift; |
204 |
my $directory = shift; |
191 |
if ( !$directory ) { |
205 |
if ( !$directory ) { |
192 |
- |
|
|