MassRecordCreationAndPrinting: Shopstatus setzen
authorWerner Hahn <wh@futureworldsearch.net>
Sat, 5 Feb 2022 06:04:43 +0000 (07:04 +0100)
committerWerner Hahn <wh@futureworldsearch.net>
Sat, 5 Feb 2022 07:50:01 +0000 (08:50 +0100)
SL/BackgroundJob/MassRecordCreationAndPrinting.pm
SL/Controller/MassInvoiceCreatePrint.pm

index 0ab03bd..371e587 100644 (file)
@@ -55,6 +55,20 @@ sub create_invoices {
       my $invoice              = $sales_delivery_order->convert_to_invoice(%conversion_params);
 
       die $db->error if !$invoice;
+      # update shop status
+      my @linked_shop_orders = $invoice->linked_records(
+        from      => 'ShopOrder',
+        via       => [ 'DeliveryOrder', 'Order' ],
+      );
+      #if (scalar @linked_shop_orders[0][0] >= 1){
+        #do update
+      my $shop_order = $linked_shop_orders[0][0];
+      if ($shop_order){
+      require SL::Shop;
+        my $shop_config = SL::DB::Manager::Shop->get_first( query => [ id => $shop_order->shop_id ] );
+        my $shop = SL::Shop->new( config => $shop_config );
+        $shop->connector->set_orderstatus($shop_order->shop_trans_id, "completed");
+      }
 
       $data->{num_created}++;
       push @{ $data->{invoice_ids} }, $invoice->id;
index acc300e..0981260 100644 (file)
@@ -83,6 +83,23 @@ sub action_create_invoices {
     $::form->error($db->error);
   }
 
+  foreach my $invoice( @invoices ) {
+    # update shop status
+    my @linked_shop_orders = $invoice->linked_records(
+      from      => 'ShopOrder',
+      via       => [ 'DeliveryOrder', 'Order' ],
+    );
+    #if (scalar @linked_shop_orders[0][0] >= 1){
+      #do update
+    my $shop_order = $linked_shop_orders[0][0];
+    if ($shop_order){
+    require SL::Shop;
+      my $shop_config = SL::DB::Manager::Shop->get_first( query => [ id => $shop_order->shop_id ] );
+      my $shop = SL::Shop->new( config => $shop_config );
+      $shop->connector->set_orderstatus($shop_order->shop_trans_id, "completed");
+    }
+  }
+
   my $key = sprintf('%d-%d', Time::HiRes::gettimeofday());
   $::auth->set_session_value("MassInvoiceCreatePrint::ids-${key}" => [ map { $_->id } @invoices ]);