Revision 270368ab
Von Jan Büren vor fast 3 Jahren hinzugefügt
SL/BackgroundJob/ConvertTimeRecordings.pm | ||
---|---|---|
13 | 13 |
|
14 | 14 |
use DateTime; |
15 | 15 |
use List::Util qw(any); |
16 |
|
|
16 |
use Try::Tiny; |
|
17 | 17 |
sub create_job { |
18 | 18 |
$_[0]->create_standard_job('7 3 1 * *'); # every first day of month at 03:07 |
19 | 19 |
} |
... | ... | |
111 | 111 |
# convert date from string to object |
112 | 112 |
my $from_date; |
113 | 113 |
my $to_date; |
114 |
try { |
|
115 |
$from_date = DateTime->from_kivitendo($data->{from_date}) if $data->{from_date}; |
|
116 |
$to_date = DateTime->from_kivitendo($data->{to_date}) if $data->{to_date}; |
|
117 |
die unless $from_date && $to_date; |
|
118 |
} catch { |
|
119 |
die t8("Cannot convert date.") ."\n" . |
|
120 |
t8("Input from string: #1", $data->{from_date}) . "\n" . |
|
121 |
t8("Input to string: #1", $data->{to_date}) . "\n" . |
|
122 |
t8("Details: #1", $_); |
|
123 |
}; |
|
114 | 124 |
$from_date = DateTime->from_kivitendo($self->params->{from_date}); |
115 | 125 |
$to_date = DateTime->from_kivitendo($self->params->{to_date}); |
116 | 126 |
# DateTime->from_kivitendo returns undef if the string cannot be parsed. Therefore test the result. |
117 |
die 'Cannot convert date from string "' . $self->params->{from_date} . '"' if !$from_date; |
|
118 |
die 'Cannot convert date to string "' . $self->params->{to_date} . '"' if !$to_date; |
|
119 | 127 |
|
120 | 128 |
$to_date->add(days => 1); # to get all from the to_date, because of the time part (15.12.2020 23.59 > 15.12.2020) |
121 | 129 |
|
Auch abrufbar als: Unified diff
Zeiterfassung: Exaktere und lokalisierte Fehlermeldung inkl. Doku