Auftrags-Controller: CVars parse-number-Workaround
authorBernd Bleßmann <bernd@kivitendo-premium.de>
Mon, 28 Sep 2015 20:26:46 +0000 (22:26 +0200)
committerG. Richardson <information@kivitendo-premium.de>
Mon, 16 Nov 2015 15:15:58 +0000 (16:15 +0100)
SL/Controller/Order.pm

index cc0f57e..334d255 100644 (file)
@@ -492,7 +492,10 @@ sub _get_unalterable_data {
     }
 
     # autovivify all cvars that are not in the form (cvars_by_config can do it).
-    $item->cvars_by_config;
+    # workaround to pre-parse number-cvars (parse_custom_variable_values does not parse number values).
+    foreach my $var (@{ $item->cvars_by_config }) {
+      $var->unparsed_value($::form->parse_amount(\%::myconfig, $var->{__unparsed_value})) if ($var->config->type eq 'number' && exists($var->{__unparsed_value}));
+    }
     $item->parse_custom_variable_values;
   }
 }