Form->prepare_for_printing: output_*-Variablen als Fallback auf %myconfig-Werte setzen
authorMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 26 Aug 2014 11:03:40 +0000 (13:03 +0200)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 26 Aug 2014 11:05:54 +0000 (13:05 +0200)
Wenn für eine Sprache kein Ausgabeformat für Datum und/oder Zahlen
festgelegt ist, so muss hier der Wert der angemeldeten Benutzerin
genommen werden, weil ansonsten die Werte falsch formatiert
werden. Außerdem kann es sein, dass die Vorlagen dann falsch rechnen,
wenn sie \numprint nutzen.

Behebt Formatierungsprobleme in wiederkehrenden Rechnungen, wenn der
Auftrag eine Sprache gewählt hat, in der die Ausgabeformate nicht
definiert sind.

SL/Form.pm

index a36ffd5..a859028 100644 (file)
@@ -3363,15 +3363,15 @@ sub prepare_for_printing {
   my ($language_tc, $output_numberformat, $output_dateformat, $output_longdates);
   if ($self->{language_id}) {
     ($language_tc, $output_numberformat, $output_dateformat, $output_longdates) = AM->get_language_details(\%::myconfig, $self, $self->{language_id});
-  } else {
-    $output_dateformat   = $::myconfig{dateformat};
-    $output_numberformat = $::myconfig{numberformat};
-    $output_longdates    = 1;
   }
 
-  $self->{myconfig_output_dateformat}   = $output_dateformat;
-  $self->{myconfig_output_longdates}    = $output_longdates;
-  $self->{myconfig_output_numberformat} = $output_numberformat;
+  $output_dateformat   ||= $::myconfig{dateformat};
+  $output_numberformat ||= $::myconfig{numberformat};
+  $output_longdates    //= 1;
+
+  $self->{myconfig_output_dateformat}   = $output_dateformat   // $::myconfig{dateformat};
+  $self->{myconfig_output_longdates}    = $output_longdates    // 1;
+  $self->{myconfig_output_numberformat} = $output_numberformat // $::myconfig{numberformat};
 
   # Retrieve accounts for tax calculation.
   IC->retrieve_accounts(\%::myconfig, $self, map { $_ => $self->{"id_$_"} } 1 .. $self->{rowcount});