From d232a24687ea63a0f57723b7730d82f12241cec9 Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Fri, 26 Aug 2011 11:06:14 +0200 Subject: [PATCH] Bessere Fehlermeldung ausgeben, wenn eine Anwendung wie pdflatex nicht gefunden wird --- SL/Form.pm | 9 +++++++-- SL/Template/HTML.pm | 6 ++---- SL/Template/LaTeX.pm | 10 ++++------ locale/de/all | 4 ++-- 4 files changed, 15 insertions(+), 14 deletions(-) diff --git a/SL/Form.pm b/SL/Form.pm index 14e3ed20f..e841771b6 100644 --- a/SL/Form.pm +++ b/SL/Form.pm @@ -1537,12 +1537,17 @@ sub generate_email_subject { sub cleanup { $main::lxdebug->enter_sub(); - my $self = shift; + my ($self, $application) = @_; + + my $error_code = $?; chdir("$self->{tmpdir}"); my @err = (); - if (-f "$self->{tmpfile}.err") { + if ((-1 == $error_code) || (127 == (($error_code) >> 8))) { + push @err, $::locale->text('The application "#1" was not found on the system.', $application || 'pdflatex') . ' ' . $::locale->text('Please contact your administrator.'); + + } elsif (-f "$self->{tmpfile}.err") { open(FH, "$self->{tmpfile}.err"); @err = ; close(FH); diff --git a/SL/Template/HTML.pm b/SL/Template/HTML.pm index 0ff939fd8..09f24fceb 100644 --- a/SL/Template/HTML.pm +++ b/SL/Template/HTML.pm @@ -72,8 +72,7 @@ sub convert_to_postscript { system($::lx_office_conf{applications}->{html2ps} . " -f html2ps-config < $form->{tmpfile} > $psfile"); if ($?) { - $self->{"error"} = $form->cleanup(); - $self->cleanup(); + $self->{"error"} = $form->cleanup($::lx_office_conf{applications}->{html2ps}); return 0; } @@ -105,8 +104,7 @@ sub convert_to_pdf { system($::lx_office_conf{applications}->{html2ps} . " -f html2ps-config < $form->{tmpfile} | ps2pdf - $pdffile"); if ($?) { - $self->{"error"} = $form->cleanup(); - $self->cleanup(); + $self->{"error"} = $form->cleanup($::lx_office_conf{applications}->{html2ps}); return 0; } diff --git a/SL/Template/LaTeX.pm b/SL/Template/LaTeX.pm index b70e1522f..c66399fc4 100644 --- a/SL/Template/LaTeX.pm +++ b/SL/Template/LaTeX.pm @@ -388,8 +388,7 @@ sub convert_to_postscript { "> $form->{tmpfile}.err"); if ($?) { $ENV{HOME} = $old_home; - $self->{"error"} = $form->cleanup(); - $self->cleanup(); + $self->{"error"} = $form->cleanup($latex); return 0; } } @@ -401,7 +400,7 @@ sub convert_to_postscript { if ($?) { $self->{"error"} = "dvips : $!"; - $self->cleanup(); + $self->cleanup('dvips'); return 0; } $form->{tmpfile} =~ s/dvi$/ps/; @@ -433,9 +432,8 @@ sub convert_to_pdf { system("${latex} --interaction=nonstopmode $form->{tmpfile} " . "> $form->{tmpfile}.err"); if ($?) { - $ENV{HOME} = $old_home; - $self->{"error"} = $form->cleanup(); - $self->cleanup(); + $ENV{HOME} = $old_home; + $self->{error} = $form->cleanup($latex); return 0; } } diff --git a/locale/de/all b/locale/de/all index 3a1c0d54e..cf33ee3bf 100644 --- a/locale/de/all +++ b/locale/de/all @@ -122,7 +122,6 @@ $self->{texts} = { 'Add Group' => 'Warengruppe erfassen', 'Add Language' => 'Sprache hinzufügen', 'Add Lead' => 'Kundenquelle erfassen', - 'Add License' => 'Lizenz erfassen', 'Add Part' => 'Ware erfassen', 'Add Payment Terms' => 'Zahlungskonditionen hinzufügen', 'Add Price Factor' => 'Preisfaktor erfassen', @@ -1028,7 +1027,6 @@ $self->{texts} = { 'Leave host and port field empty unless you want to make a remote connection.' => 'Für lokale Verbindungen "Rechner" und "Port" freilassen.', 'Left' => 'Links', 'Liability' => 'Passiva/Mittelherkunft', - 'Licenses' => 'Lizenzen', 'Limit part selection' => 'Artikelauswahl eingrenzen', 'Line Total' => 'Zeilensumme', 'Line and column' => 'Zeile und Spalte', @@ -1322,6 +1320,7 @@ $self->{texts} = { 'Please Check the bank information for each customer:' => 'Bitte überprüfen Sie die Bankinformationen der Kunden:', 'Please Check the bank information for each vendor:' => 'Bitte überprüfen Sie die Kontoinformationen der Lieferanten:', 'Please ask your administrator to create warehouses and bins.' => 'Bitten Sie Ihren Administrator, dass er Lager und Lagerplätze anlegt.', + 'Please contact your administrator.' => 'Bitte wenden Sie sich an Ihren Administrator.', 'Please enter a profile name.' => 'Bitte geben Sie einen Profilnamen an.', 'Please enter the login for the new user.' => 'Bitte geben Sie das Login für den neuen Benutzer ein.', 'Please enter the name of the database that will be used as the template for the new database:' => 'Bitte geben Sie den Namen der Datenbank an, die als Vorlage für die neue Datenbank benutzt wird:', @@ -1731,6 +1730,7 @@ $self->{texts} = { 'The access rights have been saved.' => 'Die Zugriffsrechte wurden gespeichert.', 'The account 3804 already exists, the update will be skipped.' => 'Das Konto 3804 existiert schon, das Update wird übersprungen.', 'The account 3804 will not be added automatically.' => 'Das Konto 3804 wird nicht automatisch hinzugefügt.', + 'The application "#1" was not found on the system.' => 'Die Anwendung "#1" wurde auf dem System nicht gefunden.', 'The assembly has been created.' => 'Das Erzeugnis wurde hergestellt.', 'The assistant could not find anything wrong with #1. Maybe the problem has been solved in the meantime.' => 'Der Korrekturassistent konnte kein Problem bei #1 feststellen. Eventuell wurde das Problem in der Zwischenzeit bereits behoben.', 'The authentication configuration file "config/lx_office.conf" does not exist. This Lx-Office installation has probably not been updated correctly yet. Please contact your administrator.' => 'Die Konfigurationsdatei für die Authentifizierung "config/lx_office.conf" wurde nicht gefunden. Diese Lx-Office-Installation wurde vermutlich noch nicht vollständig aktualisiert oder eingerichtet. Bitte wenden Sie sich an Ihren Administrator.', -- 2.20.1