SetNumberRange: Validitätsprüfung auf Benutzereingabe (data) im Job
authorJan Büren <jan@kivitendo.de>
Thu, 14 Nov 2019 14:09:01 +0000 (15:09 +0100)
committerJan Büren <jan@kivitendo.de>
Thu, 14 Nov 2019 14:09:01 +0000 (15:09 +0100)
SL/BackgroundJob/SetNumberRange.pm

index e317730..a7976f4 100644 (file)
@@ -17,9 +17,15 @@ sub run {
   my ($self, $db_obj) = @_;
   my $data       = $db_obj->data_as_hash;
 
+  if ($data->{digits_year} && !($data->{digits_year} == 2 || $data->{digits_year} == 4)) {
+    die "No valid input for digits_year should be 2 or 4.";
+  }
+  if ($data->{multiplier}  && !($data->{multiplier} % 10 == 0)) {
+    die "No valid input for multiplier should be 10, 100, .., 1000000";
+  }
   my $next_year  = DateTime->today_local->truncate(to => 'year')->add(years => 1)->year();
   $next_year     = ($data->{digits_year} == 2) ? substr($next_year, 2, 2) : $next_year;
-  my $multiplier = $data->{multiplier} || 1;
+  my $multiplier = $data->{multiplier} || 100;
 
   my $defaults   = SL::DB::Default->get;