]> wagnertech.de Git - mfinanz.git/blobdiff - SL/DB/OrderItem.pm
OrderItem tote Funktionen entfernt
[mfinanz.git] / SL / DB / OrderItem.pm
index f7ff3bbe691554e9c023469c2422e92583af0cce..1eb52473416f0e10ec435362f43c07f9dba1615c 100644 (file)
@@ -3,28 +3,28 @@ package SL::DB::OrderItem;
 use strict;
 
 use List::Util qw(sum);
-use SL::AM;
 
 use SL::DB::MetaSetup::OrderItem;
 use SL::DB::Manager::OrderItem;
+use SL::DB::DeliveryOrderItemsStock;
+use SL::DB::Helper::ActsAsList;
+use SL::DB::Helper::LinkedRecords;
+use SL::DB::Helper::RecordItem;
 use SL::DB::Helper::CustomVariables (
   sub_module  => 'orderitems',
   cvars_alias => 1,
   overloads   => {
-    parts_id => 'SL::DB::Part',
-  },
-);
-
-__PACKAGE__->meta->add_relationship(
-  unit_obj       => {
-    type         => 'many to one',
-    class        => 'SL::DB::Unit',
-    column_map   => { unit => 'name' },
+    parts_id => {
+      class => 'SL::DB::Part',
+      module => 'IC',
+    }
   },
 );
 
 __PACKAGE__->meta->initialize;
 
+__PACKAGE__->configure_acts_as_list(group_by => [qw(trans_id)]);
+
 sub is_price_update_available {
   my $self = shift;
   return $self->origprice > $self->part->sellprice;
@@ -36,17 +36,11 @@ sub shipped_qty {
   my $d_orders = $self->order->linked_records(direction => 'to', to => 'SL::DB::DeliveryOrder');
   my @doi      = grep { $_->parts_id == $self->parts_id } map { $_->orderitems } @$d_orders;
 
+  require SL::AM;
   return sum(map { AM->convert_unit($_->unit => $self->unit) * $_->qty } @doi);
 }
 
-sub part {
-  # canonial alias for parts.
-  goto &parts;
-}
-
-sub order {
-  # canonial alias for trans.
-  goto &trans;
-}
+sub record { goto &order }
 
 1;
+