Merge branch 'test' of ../kivitendo-erp_20220811
[kivitendo-erp.git] / SL / DB / MetaSetup / OrderItem.pm
index 7a30dc8..e83b65b 100644 (file)
@@ -4,38 +4,42 @@ package SL::DB::OrderItem;
 
 use strict;
 
-use base qw(SL::DB::Object);
+use parent qw(SL::DB::Object);
 
 __PACKAGE__->meta->table('orderitems');
 
 __PACKAGE__->meta->columns(
-  base_qty           => { type => 'float', scale => 4 },
-  cusordnumber       => { type => 'text' },
-  description        => { type => 'text' },
-  discount           => { type => 'float', scale => 4 },
-  id                 => { type => 'integer', not_null => 1, sequence => 'orderitemsid' },
-  itime              => { type => 'timestamp', default => 'now()' },
-  lastcost           => { type => 'numeric', precision => 15, scale => 5 },
-  longdescription    => { type => 'text' },
-  marge_percent      => { type => 'numeric', precision => 15, scale => 5 },
-  marge_price_factor => { type => 'numeric', default => 1, precision => 15, scale => 5 },
-  marge_total        => { type => 'numeric', precision => 15, scale => 5 },
-  mtime              => { type => 'timestamp' },
-  ordnumber          => { type => 'text' },
-  parts_id           => { type => 'integer' },
-  price_factor       => { type => 'numeric', default => 1, precision => 15, scale => 5 },
-  price_factor_id    => { type => 'integer' },
-  pricegroup_id      => { type => 'integer' },
-  project_id         => { type => 'integer' },
-  qty                => { type => 'float', scale => 4 },
-  reqdate            => { type => 'date' },
-  sellprice          => { type => 'numeric', precision => 15, scale => 5 },
-  serialnumber       => { type => 'text' },
-  ship               => { type => 'float', scale => 4 },
-  subtotal           => { type => 'boolean', default => 'false' },
-  trans_id           => { type => 'integer' },
-  transdate          => { type => 'text' },
-  unit               => { type => 'varchar', length => 20 },
+  active_discount_source => { type => 'text', default => '', not_null => 1 },
+  active_price_source    => { type => 'text', default => '', not_null => 1 },
+  base_qty               => { type => 'float', precision => 4, scale => 4 },
+  cusordnumber           => { type => 'text' },
+  description            => { type => 'text' },
+  discount               => { type => 'float', precision => 4, scale => 4 },
+  id                     => { type => 'integer', not_null => 1, sequence => 'orderitemsid' },
+  itime                  => { type => 'timestamp', default => 'now()' },
+  lastcost               => { type => 'numeric', precision => 15, scale => 5 },
+  longdescription        => { type => 'text' },
+  marge_percent          => { type => 'numeric', precision => 15, scale => 5 },
+  marge_price_factor     => { type => 'numeric', default => 1, precision => 15, scale => 5 },
+  marge_total            => { type => 'numeric', precision => 15, scale => 5 },
+  mtime                  => { type => 'timestamp' },
+  optional               => { type => 'boolean', default => 'false' },
+  ordnumber              => { type => 'text' },
+  parts_id               => { type => 'integer' },
+  position               => { type => 'integer', not_null => 1 },
+  price_factor           => { type => 'numeric', default => 1, precision => 15, scale => 5 },
+  price_factor_id        => { type => 'integer' },
+  pricegroup_id          => { type => 'integer' },
+  project_id             => { type => 'integer' },
+  qty                    => { type => 'numeric', precision => 25, scale => 5 },
+  reqdate                => { type => 'date' },
+  sellprice              => { type => 'numeric', precision => 15, scale => 5 },
+  serialnumber           => { type => 'text' },
+  ship                   => { type => 'float', precision => 4, scale => 4 },
+  subtotal               => { type => 'boolean', default => 'false' },
+  trans_id               => { type => 'integer' },
+  transdate              => { type => 'text' },
+  unit                   => { type => 'varchar', length => 20 },
 );
 
 __PACKAGE__->meta->primary_key_columns([ 'id' ]);
@@ -67,6 +71,11 @@ __PACKAGE__->meta->foreign_keys(
     class       => 'SL::DB::Project',
     key_columns => { project_id => 'id' },
   },
+
+  unit_obj => {
+    class       => 'SL::DB::Unit',
+    key_columns => { unit => 'name' },
+  },
 );
 
 1;