use SL::DB::TimeRecording;
use SL::Locale::String qw(t8);
+
use DateTime;
+use Try::Tiny;
sub create_job {
$_[0]->create_standard_job('7 3 1 * *'); # every first day of month at 03:07
# from/to date from data. Defaults to begining and end of last month.
my $from_date;
my $to_date;
- $from_date = DateTime->from_kivitendo($data->{from_date}) if $data->{from_date};
- $to_date = DateTime->from_kivitendo($data->{to_date}) if $data->{to_date};
+ # handle errors with a catch handler
+ try {
+ $from_date = DateTime->from_kivitendo($data->{from_date}) if $data->{from_date};
+ $to_date = DateTime->from_kivitendo($data->{to_date}) if $data->{to_date};
+ } catch {
+ die "Cannot convert date from string $data->{from_date} $data->{to_date}\n Details :\n $_"; # not $@
+ };
$from_date ||= DateTime->new( day => 1, month => DateTime->today_local->month, year => DateTime->today_local->year)->subtract(months => 1);
$to_date ||= DateTime->last_day_of_month(month => DateTime->today_local->month, year => DateTime->today_local->year)->subtract(months => 1);
{ name => "Text::CSV_XS", version => '0.23', url => "http://search.cpan.org/~hmbrand/", debian => 'libtext-csv-xs-perl' },
{ name => "Text::Iconv", version => '1.2', url => "http://search.cpan.org/~mpiotr/", debian => 'libtext-iconv-perl' },
{ name => "Text::Unidecode", url => "http://search.cpan.org/~sburke/", debian => 'libtext-unidecode-perl' },
+ { name => "Try::Tiny", url => "https://metacpan.org/release/Try-Tiny", debian => 'libtry-tiny-perl' },
{ name => "URI", version => '1.35', url => "http://search.cpan.org/~gaas/", debian => 'liburi-perl' },
{ name => "XML::LibXML", url => "https://metacpan.org/pod/XML::LibXML", debian => 'libxml-libxml-perl' },
{ name => "XML::Writer", version => '0.602', url => "http://search.cpan.org/~josephw/", debian => 'libxml-writer-perl' },