X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FDeliveryOrder.pm;h=45d658876023f2efbe8890d5008e3cf09682b6e2;hb=11aeaa07186197c61dfe610d2a5c981754fd2e9d;hp=1633b1c94d24537130f82bdabba0c8d6a854df3a;hpb=1230932ee7208c5a31fa900c9e9d8261bd7338e3;p=kivitendo-erp.git diff --git a/SL/DB/DeliveryOrder.pm b/SL/DB/DeliveryOrder.pm index 1633b1c94..45d658876 100644 --- a/SL/DB/DeliveryOrder.pm +++ b/SL/DB/DeliveryOrder.pm @@ -17,7 +17,7 @@ use SL::DB::Helper::TransNumberGenerator; use SL::DB::Part; use SL::DB::Unit; -use SL::Controller::DeliveryOrder::TypeData; +use SL::DB::DeliveryOrder::TypeData qw(:types); use SL::Helper::Number qw(_format_total _round_total); @@ -140,8 +140,8 @@ sub new_from { ordnumber payment_id reqdate salesman_id shippingpoint shipvia taxincluded taxzone_id transaction_description vendor_id billing_address_id )), closed => 0, - is_sales => !!$source->customer_id, delivered => 0, + order_type => $params{type}, transdate => DateTime->today_local, ); @@ -162,15 +162,13 @@ sub new_from { : $source->is_sales ? 'sales_delivery_order' : croak "need some way to set delivery order type from source"; - # overwrite legacy is_sales from type_data - $args{is_sales} = SL::Controller::DeliveryOrder::TypeData::get3($args{order_type}, "properties", "is_customer"); - my $delivery_order = $class->new(%args); $delivery_order->assign_attributes(%{ $params{attributes} }) if $params{attributes}; my $items = delete($params{items}) || $source->items_sorted; my %item_parents; - my @items = map { + # do not copy items when converting to supplier delivery order + my @items = $delivery_order->is_type(SUPPLIER_DELIVERY_ORDER_TYPE) ? () : map { my $source_item = $_; my $source_item_id = $_->$item_parent_id_column; my @custom_variables = map { _clone_orderitem_cvar($_) } @{ $source_item->custom_variables }; @@ -326,13 +324,13 @@ sub new_from_time_recordings { # use type_data cusomtervendor and transfer direction instead sub is_sales { if ($_[0]->order_type) { - return SL::Controller::DeliveryOrder::TypeData::get3($_[0]->order_type, "properties", "is_customer"); + return SL::DB::DeliveryOrder::TypeData::get3($_[0]->order_type, "properties", "is_customer"); } return $_[0]{is_sales}; } sub customervendor { - SL::Controller::DeliveryOrder::TypeData::get3($_[0]->order_type, "properties", "is_customer") ? $_[0]->customer : $_[0]->vendor; + SL::DB::DeliveryOrder::TypeData::get3($_[0]->order_type, "properties", "is_customer") ? $_[0]->customer : $_[0]->vendor; } sub convert_to_invoice {