X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/94589a4e7e0f88fc71034182e007afe3d0e65952..d8be5cc409de5b3bc34439599b1481201a5a1c2e:/SL/Controller/ShopOrder.pm diff --git a/SL/Controller/ShopOrder.pm b/SL/Controller/ShopOrder.pm index df95b0a0d..a83ee5a66 100644 --- a/SL/Controller/ShopOrder.pm +++ b/SL/Controller/ShopOrder.pm @@ -52,7 +52,7 @@ sub action_get_orders { $new_orders = $shop->connector->get_one_order($shop_ordernumber); push @{ $orders_fetched }, $new_orders ; } else { - flash_later('error', t8('From shop "#1" : Number: #2 #3 ', $shop->config->description, $shop_ordernumber, t8('Shoporder with this ordernumber is already fetched'))); + flash_later('error', t8('Shoporder "#2" From Shop "#1" is already fetched', $shop->config->description, $shop_ordernumber)); } } else { flash_later('error', t8('Shop or ordernumber not selected.')); @@ -63,7 +63,7 @@ sub action_get_orders { if($shop_fetched->{error}){ flash_later('error', t8('From shop "#1" : #2 ', $shop_fetched->{shop_description}, $shop_fetched->{message},)); }else{ - flash_later('info', t8('From shop #1 : #2 shoporders have been fetched.', $shop_fetched->{description}, $shop_fetched->{number_of_orders},)); + flash_later('info', t8('From shop #1 : #2 shoporders have been fetched.', $shop_fetched->{shop_description}, $shop_fetched->{number_of_orders},)); } } @@ -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