X-Git-Url: http://wagnertech.de/git?p=kivitendo-erp.git;a=blobdiff_plain;f=SL%2FController%2FMassInvoiceCreatePrint.pm;fp=SL%2FController%2FMassInvoiceCreatePrint.pm;h=626a6633dc4c685e2817969864a88a0ef4f54585;hp=acc300e0ae9f17698c0935fc34efefa992ea7306;hb=b293ff8ad52fc76ba0c44783e3982418114d6b08;hpb=d4925a8b60f04674885e30d9316dc0263f8b9a84 diff --git a/SL/Controller/MassInvoiceCreatePrint.pm b/SL/Controller/MassInvoiceCreatePrint.pm index acc300e0a..626a6633d 100644 --- a/SL/Controller/MassInvoiceCreatePrint.pm +++ b/SL/Controller/MassInvoiceCreatePrint.pm @@ -19,6 +19,7 @@ use SL::Helper::File qw(store_pdf append_general_pdf_attachments doc_storage_ena use SL::Helper::Flash; use SL::Locale::String; use SL::SessionFile; +use SL::ARAP; use SL::System::TaskServer; use Rose::Object::MakeMethods::Generic ( @@ -57,6 +58,7 @@ sub action_create_invoices { } my $db = SL::DB::Invoice->new->db; + my $dbh = $db->dbh; my @invoices; my @already_closed_delivery_orders; @@ -73,6 +75,11 @@ sub action_create_invoices { } else { my $invoice = $delivery_order->convert_to_invoice() || die $db->error; + + ARAP->close_orders_if_billed('dbh' => $dbh, + 'arap_id' => $invoice->id, + 'table' => 'ar',); + push @invoices, $invoice; } } @@ -83,6 +90,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 ]);