- if (!$::form->{from}) {
- my $epoch = DateTime->new(day => 1, month => 1, year => 1900);
- flash('info', t8('No start date given, setting to #1', $epoch->to_kivitendo));
- $self->from($epoch);
- }
-
- if (!$::form->{to}) {
- flash('info', t8('No end date given, setting to today'));
- $self->to(DateTime->today);
+ if ($::form->{method} eq 'year') {
+ if ($::form->{year}) {
+ $self->from(DateTime->new(year => $::form->{year}, month => 1, day => 1));
+ $self->to( DateTime->new(year => $::form->{year}, month => 12, day => 31));
+ } else {
+ $error = 1;
+ flash('error', t8('No year given for method year'));
+ }
+ } else {
+ if (!$::form->{from}) {
+ my $epoch = DateTime->new(day => 1, month => 1, year => 1900);
+ flash('info', t8('No start date given, setting to #1', $epoch->to_kivitendo));
+ $self->from($epoch);
+ }
+
+ if (!$::form->{to}) {
+ flash('info', t8('No end date given, setting to today'));
+ $self->to(DateTime->today);
+ }