]> wagnertech.de Git - mfinanz.git/blobdiff - SL/Controller/PriceSource.pm
restart apache2 in postinst
[mfinanz.git] / SL / Controller / PriceSource.pm
index da0302138402de9eee00242d93fe508b6a15f96c..2304948f1d5d827cfde6e674c057c06b95b0305e 100644 (file)
@@ -84,6 +84,7 @@ sub _make_record_item {
     request_quotation       => 'OrderItem',
     invoice                 => 'InvoiceItem',
     invoice_for_advance_payment => 'InvoiceItem',
+    final_invoice           => 'InvoiceItem',
     purchase_invoice        => 'InvoiceItem',
     credit_note             => 'InvoiceItem',
     purchase_delivery_order => 'DeliveryOrderItem',
@@ -125,6 +126,8 @@ sub _make_record_item {
         $obj->${\"$method\_as_date"}($value);
       } elsif ((ref $obj->meta->column($method)) =~ /^Rose::DB::Object::Metadata::Column::(?:Numeric|Float|DoublePrecsion)$/) {
         $obj->${\"$method\_as_number"}($value);
+      } elsif ((ref $obj->meta->column($method)) =~ /^Rose::DB::Object::Metadata::Column::(?:Big)?(?:Int(?:eger)?|Serial)$/) {
+        $obj->$method(($value // '') eq '' ? undef : $value * 1);
       } elsif ((ref $obj->meta->column($method)) =~ /^Rose::DB::Object::Metadata::Column::Boolean$/) {
         $obj->$method(!!$value);
       } else {
@@ -155,7 +158,7 @@ sub _make_record {
     sales_delivery_order    => 'DeliveryOrder',
   }->{$::form->{type}};
 
-  if ($::form->{type} =~ /invoice|invoice_for_advance_payment|credit_note/) {
+  if ($::form->{type} =~ /invoice|credit_note/) {
     $class = $::form->{vc} eq 'customer' ? 'Invoice'
            : $::form->{vc} eq 'vendor'   ? 'PurchaseInvoice'
            : do { die 'unknown invoice type' };
@@ -179,6 +182,8 @@ sub _make_record {
       $obj->${\"$method\_as_date"}($::form->{$method});
     } elsif ((ref $obj->meta->column($method)) =~ /^Rose::DB::Object::Metadata::Column::(?:Numeric|Float|DoublePrecsion)$/) {
       $obj->${\"$method\_as\_number"}($::form->{$method});
+    } elsif ((ref $obj->meta->column($method)) =~ /^Rose::DB::Object::Metadata::Column::(?:Big)?(?:Int(?:eger)?|Serial)$/) {
+      $obj->$method(($::form->{$method} // '') eq '' ? undef : $::form->{$method} * 1)
     } elsif ((ref $obj->meta->column($method)) =~ /^Rose::DB::Object::Metadata::Column::Boolean$/) {
       $obj->$method(!!$::form->{$method});
     } else {