X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/325c539c21187087e5540646c3c4e9cabd52ee84..945793f0b279b59e89523634dd998cc17766f31f:/SL/DB/Order.pm diff --git a/SL/DB/Order.pm b/SL/DB/Order.pm index f037ed16a..28b1b5726 100644 --- a/SL/DB/Order.pm +++ b/SL/DB/Order.pm @@ -15,6 +15,7 @@ use SL::DB::Helper::PriceTaxCalculator; use SL::DB::Helper::PriceUpdater; use SL::DB::Helper::TransNumberGenerator; use SL::RecordLinks; +use Rose::DB::Object::Helpers qw(as_tree); __PACKAGE__->meta->add_relationship( orderitems => { @@ -60,11 +61,12 @@ sub _before_save_set_ord_quo_number { # methods sub items { goto &orderitems; } +sub add_items { goto &add_orderitems; } sub items_sorted { my ($self) = @_; - return [ sort {$a->id <=> $b->id } @{ $self->items } ]; + return [ sort {$a->position <=> $b->position } @{ $self->items } ]; } sub type { @@ -150,12 +152,12 @@ sub convert_to_invoice { } sub convert_to_delivery_order { - my ($self, %params) = @_; + my ($self, @args) = @_; my ($delivery_order, $custom_shipto); if (!$self->db->with_transaction(sub { require SL::DB::DeliveryOrder; - ($delivery_order, $custom_shipto) = SL::DB::DeliveryOrder->new_from($self, %params); + ($delivery_order, $custom_shipto) = SL::DB::DeliveryOrder->new_from($self, @args); $delivery_order->save; $custom_shipto->save if $custom_shipto; $self->link_to_record($delivery_order); @@ -181,6 +183,10 @@ sub number { return $self->${ \ $number_method{$self->type} }(@_); } +sub customervendor { + $_[0]->is_sales ? $_[0]->customer : $_[0]->vendor; +} + sub date { goto &transdate; }