Überschriften in <h1> anstelle von <div class="listtop"> packen
[kivitendo-erp.git] / SL / DB / DeliveryOrder.pm
index b5bdcb4..9c860bf 100644 (file)
@@ -4,14 +4,24 @@ use strict;
 
 use SL::DB::MetaSetup::DeliveryOrder;
 use SL::DB::Manager::DeliveryOrder;
+use SL::DB::Helper::LinkedRecords;
+use SL::DB::Helper::TransNumberGenerator;
 use SL::DB::Order;
 
 use List::Util qw(first);
 
 __PACKAGE__->meta->add_relationship(orderitems => { type         => 'one to many',
                                                     class        => 'SL::DB::DeliveryOrderItem',
-                                                    column_map   => { id => 'trans_id' },
-                                                    manager_args => { with_objects => [ 'part' ] }
+                                                    column_map   => { id => 'delivery_order_id' },
+                                                    manager_args => { with_objects => [ 'parts' ] }
+                                                  },
+                                    shipto => { type       => 'one to one',
+                                                class      => 'SL::DB::Shipto',
+                                                column_map => { shipto_id => 'shipto_id' },
+                                              },
+                                    department => { type       => 'one to one',
+                                                    class      => 'SL::DB::Department',
+                                                    column_map => { department_id => 'id' },
                                                   },
                                    );
 
@@ -19,6 +29,8 @@ __PACKAGE__->meta->initialize;
 
 # methods
 
+sub items { goto &orderitems; }
+
 sub sales_order {
   my $self   = shift;
   my %params = @_;
@@ -33,4 +45,16 @@ sub sales_order {
   return first { $_->is_type('sales_order') } @{ $orders };
 }
 
+sub type {
+  return shift->customer_id ? 'sales_delivery_order' : 'purchase_delivery_order';
+}
+
+sub displayable_state {
+  my ($self) = @_;
+
+  return join '; ',
+    ($self->closed    ? $::locale->text('closed')    : $::locale->text('open')),
+    ($self->delivered ? $::locale->text('delivered') : $::locale->text('not delivered'));
+}
+
 1;