Bessere Fehlermeldung ausgeben, wenn eine Anwendung wie pdflatex nicht gefunden wird
authorMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 26 Aug 2011 09:06:14 +0000 (11:06 +0200)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 26 Aug 2011 09:06:14 +0000 (11:06 +0200)
SL/Form.pm
SL/Template/HTML.pm
SL/Template/LaTeX.pm
locale/de/all

index 14e3ed2..e841771 100644 (file)
@@ -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 = <FH>;
     close(FH);
index 0ff939f..09f24fc 100644 (file)
@@ -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;
   }
 
index b70e152..c66399f 100644 (file)
@@ -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;
     }
   }
index 3a1c0d5..cf33ee3 100644 (file)
@@ -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&uuml;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&auml;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&uuml;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 &quot;config/lx_office.conf&quot; does not exist. This Lx-Office installation has probably not been updated correctly yet. Please contact your administrator.' => 'Die Konfigurationsdatei f&uuml;r die Authentifizierung &quot;config/lx_office.conf&quot; wurde nicht gefunden. Diese Lx-Office-Installation wurde vermutlich noch nicht vollst&auml;ndig aktualisiert oder eingerichtet. Bitte wenden Sie sich an Ihren Administrator.',