From: Moritz Bunkus Date: Mon, 18 Apr 2016 13:26:22 +0000 (+0200) Subject: Brieffunktion: Drucken auf Drucker gefixt X-Git-Tag: release-3.4.1~212 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=5db439f8eb7c7317f4b4610d69da432f14e1a043;p=kivitendo-erp.git Brieffunktion: Drucken auf Drucker gefixt 1. Drucker wurden nicht geladen. Daher gab's die Option zum Drucken direkt auf einen Drucker nicht. 2. Temporäre Druckedateien wurden anschließend nicht gelöscht. 3. Der anschließende Redirect nutzte falsche Variablen und hat daher de facto auf die Maske zum Anlegen eines neuen Briefs redirectet. --- diff --git a/SL/Controller/Letter.pm b/SL/Controller/Letter.pm index f154aed9d..46e5aa76d 100644 --- a/SL/Controller/Letter.pm +++ b/SL/Controller/Letter.pm @@ -278,16 +278,17 @@ sub action_print_letter { } my $printer = SL::DB::Printer->new(id => $::form->{printer_id})->load; - my $command = SL::Template::create(type => 'ShellCommand', form => Form->new(''))->parse($printer->printer_command); + $printer->print_document( + copies => $::form->{copies}, + file_name => $pdf_file_name, + ); - open my $out, '|-', $command or die $!; - binmode $out; - print $out scalar(read_file($pdf_file_name)); - close $out; Common::copy_file_to_webdav_folder($webdav_copy_args) if $::instance_conf->get_webdav_documents; + unlink $pdf_file_name; + flash_later('info', t8('The documents have been sent to the printer \'#1\'.', $printer->printer_description)); - $self->redirect_to(action => 'edit', id => $letter->{id}, 'printer_id' => $::form->{printer_id}); + $self->redirect_to(action => 'edit', 'letter.id' => $self->letter->id, media => 'printer', printer_id => $::form->{printer_id}); 1; } or do { unlink $pdf_file_name; @@ -331,6 +332,7 @@ sub _display { $::request->layout->add_javascripts('edit_part_window.js'); $::form->{language_id} ||= $params{language_id}; + $::form->{printers} = SL::DB::Manager::Printer->get_all_sorted; $self->render('letter/edit', %params, diff --git a/doc/changelog b/doc/changelog index 6dc3bc69e..82c05b5a8 100644 --- a/doc/changelog +++ b/doc/changelog @@ -11,6 +11,7 @@ einere neue Features und Detailverbesserungen: WebDAV-Verzeichnis gespeichert, sofern das Feature in der Mandantenkonfiguration aktiv ist. - Die Weiterleitung nach dem Löschen von Briefen wurde gefixt. + - Das Drucken von Briefen direkt auf Drucker wurde gefixt. 2016-03-12 - Release 3.4.0