X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FOrder.pm;h=7d5e2fe4aaacf7f350d77f17791507717d7d56a8;hb=6c59b08afa062f17a487910125809095fa3fb684;hp=4d0a2fa0747a00f5cf0886ae9a6c68371d166136;hpb=fc890e1040a469ee62b3661c5da2f3d2efb4cce9;p=kivitendo-erp.git diff --git a/SL/DB/Order.pm b/SL/DB/Order.pm index 4d0a2fa07..7d5e2fe4a 100644 --- a/SL/DB/Order.pm +++ b/SL/DB/Order.pm @@ -157,19 +157,19 @@ sub convert_to_invoice { sub convert_to_delivery_order { my ($self, @args) = @_; - my ($delivery_order, $custom_shipto); + my $delivery_order; if (!$self->db->with_transaction(sub { require SL::DB::DeliveryOrder; - ($delivery_order, $custom_shipto) = SL::DB::DeliveryOrder->new_from($self, @args); + $delivery_order = SL::DB::DeliveryOrder->new_from($self, @args); $delivery_order->save; - $custom_shipto->save if $custom_shipto; $self->link_to_record($delivery_order); # TODO extend link_to_record for items, otherwise long-term no d.r.y. foreach my $item (@{ $delivery_order->items }) { foreach (qw(orderitems)) { # expand if needed (delivery_order_items) if ($item->{"converted_from_${_}_id"}) { die unless $item->{id}; - RecordLinks->create_links('mode' => 'ids', + RecordLinks->create_links('dbh' => $self->db->dbh, + 'mode' => 'ids', 'from_table' => $_, 'from_ids' => $item->{"converted_from_${_}_id"}, 'to_table' => 'delivery_order_items', @@ -183,10 +183,10 @@ sub convert_to_delivery_order { $self->update_attributes(delivered => 1); 1; })) { - return wantarray ? () : undef; + return undef; } - return wantarray ? ($delivery_order, $custom_shipto) : $delivery_order; + return $delivery_order; } sub number { @@ -210,10 +210,24 @@ sub date { goto &transdate; } +sub digest { + my ($self) = @_; + + sprintf "%s %s %s (%s)", + $self->number, + $self->customervendor->name, + $self->amount_as_number, + $self->date->to_kivitendo; +} + 1; __END__ +=pod + +=encoding utf8 + =head1 NAME SL::DB::Order - Order Datenbank Objekt. @@ -251,16 +265,8 @@ C, and C<$self> is saved. The arguments in C<%params> are passed to L. -Returns C on failure. Otherwise the return value depends on the -context. In list context the new delivery order and a shipto instance -will be returned. In scalar instance only the delivery order instance -is returned. - -Custom shipto addresses (the ones specific to the sales/purchase -record and not to the customer/vendor) are only linked from C -to C. Meaning C will not -be filled in that case. That's why a separate shipto object is created -and returned. +Returns C on failure. Otherwise the new delivery order will be +returned. =head2 C