Merge branch 'nummernkreise-leer-2432'
[kivitendo-erp.git] / SL / DB / DeliveryOrder.pm
index ca36cbd..372a5cc 100644 (file)
@@ -8,7 +8,6 @@ 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);
 
@@ -21,14 +20,34 @@ __PACKAGE__->meta->add_relationship(orderitems => { type         => 'one to many
 
 __PACKAGE__->meta->initialize;
 
+__PACKAGE__->before_save('_before_save_set_donumber');
+
+# hooks
+
+sub _before_save_set_donumber {
+  my ($self) = @_;
+
+  $self->create_trans_number if !$self->donumber;
+
+  return 1;
+}
+
 # methods
 
 sub items { goto &orderitems; }
 
+sub items_sorted {
+  my ($self) = @_;
+
+  return [ sort {$a->id <=> $b->id } @{ $self->items } ];
+}
+
 sub sales_order {
   my $self   = shift;
   my %params = @_;
 
+
+  require SL::DB::Order;
   my $orders = SL::DB::Manager::Order->get_all(
     query => [
       ordnumber => $self->ordnumber,
@@ -51,4 +70,8 @@ sub displayable_state {
     ($self->delivered ? $::locale->text('delivered') : $::locale->text('not delivered'));
 }
 
+sub date {
+  goto &transdate;
+}
+
 1;