Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
[kivitendo-erp.git] / SL / CVar.pm
index c0b3f43..0a91c59 100644 (file)
@@ -42,6 +42,15 @@ SQL
       } elsif ($config->{type} eq 'number') {
         $config->{precision} = $1 if ($config->{options} =~ m/precision=(\d+)/i);
 
+      } elsif ($config->{type} eq 'textfield') {
+        $config->{width}  = 30;
+        $config->{height} =  5;
+        $config->{width}  = $1 if ($config->{options} =~ m/width=(\d+)/i);
+        $config->{height} = $1 if ($config->{options} =~ m/height=(\d+)/i);
+
+      } elsif ($config->{type} eq 'text') {
+        $config->{maxlength} = $1 if ($config->{options} =~ m/maxlength=(\d+)/i);
+
       }
 
       $self->_unpack_flags($config);
@@ -730,6 +739,8 @@ sub parse {
   return $::form->parse_amount(\%::myconfig, $value)          if $config->{type} eq 'number';
   return DateTime->from_lxoffice($value)                      if $config->{type} eq 'date';
   return !ref $value ? SL::DB::Manager::Customer->find_by(id => $value * 1) : $value  if $config->{type} eq 'customer';
+  return !ref $value ? SL::DB::Manager::Vendor->find_by(id => $value * 1)   : $value  if $config->{type} eq 'vendor';
+  return !ref $value ? SL::DB::Manager::Part->find_by(id => $value * 1)     : $value  if $config->{type} eq 'part';
   return $value;
 }