X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/b011a094516694cff31fe5adae0e29c101481b3c..d8be5cc409de5b3bc34439599b1481201a5a1c2e:/SL/Controller/ShopOrder.pm diff --git a/SL/Controller/ShopOrder.pm b/SL/Controller/ShopOrder.pm index 3e61c636a..a83ee5a66 100644 --- a/SL/Controller/ShopOrder.pm +++ b/SL/Controller/ShopOrder.pm @@ -135,13 +135,17 @@ sub action_undelete_order { sub action_transfer { my ( $self ) = @_; + $::form->{customer} ||= $::form->{partial_transfer_customer_id}; + my $customer = SL::DB::Manager::Customer->find_by(id => $::form->{customer}); - die "Can't find customer" unless $customer; + die "Can't find customer" unless ref $customer eq 'SL::DB::Customer'; + my $employee = SL::DB::Manager::Employee->current; die "Can't find employee" unless $employee; die "Can't load shop_order form form->import_id" unless $self->shop_order; - my $order = $self->shop_order->convert_to_sales_order(customer => $customer, employee => $employee); + my $order = $self->shop_order->convert_to_sales_order(customer => $customer, employee => $employee, + pos_ids => $::form->{pos_ids} ); if ($order->{error}){ flash_later('error',@{$order->{errors}}); @@ -150,6 +154,7 @@ sub action_transfer { $order->db->with_transaction( sub { $order->calculate_prices_and_taxes; $order->save; + SL::DB::OrderVersion->new(oe_id => $order->id, version => 1)->save; my $snumbers = "ordernumber_" . $order->ordnumber; SL::DB::History->new( @@ -170,8 +175,7 @@ sub action_transfer { $self->shop_order->save; $self->shop_order->link_to_record($order); }) || die $order->db->error; - my $order_controller = $::instance_conf->get_feature_experimental_order ? 'Order' :'oe.pl'; - $self->redirect_to(controller => $order_controller, action => 'edit', type => 'sales_order', vc => 'customer', id => $order->id); + $self->redirect_to(controller => 'Order', action => 'edit', type => 'sales_order', vc => 'customer', id => $order->id); } } @@ -369,6 +373,8 @@ Marks the shoporder obsolete = false =item C Transfers one shoporder to an order. +If the optional $::form->{pos_ids} exists, they will be added +as a param for the convert_to_sales_order method =item C