]> wagnertech.de Git - mfinanz.git/blobdiff - SL/Controller/ShopOrder.pm
Merge branch 'master' of http://wagnertech.de/git/mfinanz
[mfinanz.git] / SL / Controller / ShopOrder.pm
index df95b0a0d96bb52a9cb0044b6f3816ca839625a3..a83ee5a665830ed8c9294c74e26a68e87d7dc304 100644 (file)
@@ -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<action_transfer>
 
 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<action_apply_customer>