From 5db439f8eb7c7317f4b4610d69da432f14e1a043 Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Mon, 18 Apr 2016 15:26:22 +0200 Subject: [PATCH] Brieffunktion: Drucken auf Drucker gefixt MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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. --- SL/Controller/Letter.pm | 14 ++++++++------ doc/changelog | 1 + 2 files changed, 9 insertions(+), 6 deletions(-) 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 -- 2.20.1