typ customer korrekt ans template system übergeben
authorSven Schöling <s.schoeling@linet-services.de>
Wed, 12 Oct 2011 14:55:54 +0000 (16:55 +0200)
committerSven Schöling <s.schoeling@linet-services.de>
Wed, 12 Oct 2011 14:55:54 +0000 (16:55 +0200)
SL/CVar.pm
SL/DO.pm
SL/IS.pm
SL/OE.pm

index 2408222..bd58cbd 100644 (file)
@@ -716,6 +716,16 @@ sub parse {
   return $value;
 }
 
+sub format_to_template {
+  my ($self, $value, $config) = @_;
+  # stupid template expects everything formated. except objects
+  # do not use outside of print routines for legacy templates
+
+  return $::form->parse_amount(\%::myconfig, $value) if $config->{type} eq 'number';
+  return $value->to_lxoffice if $config->{type} eq 'date' && blessed $value && $value->can('to_lxoffice');
+  return $value;
+}
+
 1;
 
 __END__
index f6c56b6..17d896f 100644 (file)
--- a/SL/DO.pm
+++ b/SL/DO.pm
@@ -888,7 +888,9 @@ sub order_details {
       }
     }
 
-    map { push @{ $form->{TEMPLATE_ARRAYS}->{"ic_cvar_$_->{name}"} }, $form->{"ic_cvar_$_->{name}_$i"} } @{ $ic_cvar_configs };
+    push @{ $form->{TEMPLATE_ARRAYS}->{"ic_cvar_$_->{name}"} },
+      CVar->format_to_template(CVar->parse($form->{"ic_cvar_$_->{name}_$i"}, $_), $_)
+        for @{ $ic_cvar_configs };
   }
 
   $h_pg->finish();
index da801fd..bd385ef 100644 (file)
--- a/SL/IS.pm
+++ b/SL/IS.pm
@@ -353,7 +353,9 @@ sub invoice_details {
         $sth->finish;
       }
 
-      map { push @{ $form->{TEMPLATE_ARRAYS}->{"ic_cvar_$_->{name}"} }, $form->{"ic_cvar_$_->{name}_$i"} } @{ $ic_cvar_configs };
+      push @{ $form->{TEMPLATE_ARRAYS}->{"ic_cvar_$_->{name}"} },
+        CVar->format_to_template(CVar->parse($form->{"ic_cvar_$_->{name}_$i"}, $_), $_)
+          for @{ $ic_cvar_configs };
     }
   }
 
@@ -877,7 +879,7 @@ sub post_invoice {
   # record payments and offsetting AR
   if (!$form->{storno}) {
     for my $i (1 .. $form->{paidaccounts}) {
-      
+
       if ($form->{"acc_trans_id_$i"}
           && $payments_only
           && ($::lx_office_conf{features}->{payments_changeable} == 0)) {
index 6136099..cfe5e25 100644 (file)
--- a/SL/OE.pm
+++ b/SL/OE.pm
@@ -1293,7 +1293,9 @@ sub order_details {
         $sth->finish;
       }
 
-      map { push @{ $form->{TEMPLATE_ARRAYS}->{"ic_cvar_$_->{name}"} }, $form->{"ic_cvar_$_->{name}_$i"} } @{ $ic_cvar_configs };
+      push @{ $form->{TEMPLATE_ARRAYS}->{"ic_cvar_$_->{name}"} },
+        CVar->format_to_template(CVar->parse($form->{"ic_cvar_$_->{name}_$i"}, $_), $_)
+          for @{ $ic_cvar_configs };
     }
   }