X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FMassInvoiceCreatePrint.pm;h=b7212c780b88f55deb02fb85b654441e35ac6893;hb=4d3be9c7cbf7d525181428a9b3697338aa066f0f;hp=cd96a73e72cd74349c587afce9cec8275bb9de88;hpb=ee75e5986c75b6cf9886bf315e83d05ae210add0;p=kivitendo-erp.git diff --git a/SL/Controller/MassInvoiceCreatePrint.pm b/SL/Controller/MassInvoiceCreatePrint.pm index cd96a73e7..b7212c780 100644 --- a/SL/Controller/MassInvoiceCreatePrint.pm +++ b/SL/Controller/MassInvoiceCreatePrint.pm @@ -56,9 +56,9 @@ sub action_create_invoices { } my $db = SL::DB::Invoice->new->db; + my @invoices; - if (!$db->do_transaction(sub { - my @invoices; + if (!$db->with_transaction(sub { foreach my $id (@sales_delivery_order_ids) { my $delivery_order = SL::DB::DeliveryOrder->new(id => $id)->load; @@ -66,17 +66,17 @@ sub action_create_invoices { push @invoices, $invoice; } - my $key = sprintf('%d-%d', Time::HiRes::gettimeofday()); - $::auth->set_session_value("MassInvoiceCreatePrint::ids-${key}" => [ map { $_->id } @invoices ]); - - flash_later('info', t8('The invoices have been created. They\'re pre-selected below.')); - $self->redirect_to(action => 'list_invoices', ids => $key); - 1; })) { $::lxdebug->message(LXDebug::WARN(), "Error: " . $db->error); $::form->error($db->error); } + + my $key = sprintf('%d-%d', Time::HiRes::gettimeofday()); + $::auth->set_session_value("MassInvoiceCreatePrint::ids-${key}" => [ map { $_->id } @invoices ]); + + flash_later('info', t8('The invoices have been created. They\'re pre-selected below.')); + $self->redirect_to(action => 'list_invoices', ids => $key); } sub action_list_invoices { @@ -325,12 +325,7 @@ sub download_or_print_documents { } my $printer = SL::DB::Printer->new(id => $params{printer_id})->load; - my $command = SL::Template::create(type => 'ShellCommand', form => Form->new(''))->parse($printer->printer_command); - - open my $out, '|-', $command or die $!; - binmode $out; - print $out $merged_pdf; - close $out; + $printer->print_document(content => $merged_pdf); flash_later('info', t8('The documents have been sent to the printer \'#1\'.', $printer->printer_description)); return $self->redirect_to(action => 'list_invoices', printer_id => $params{printer_id});