WebDav: Fehler beim Kopieren anzeigen / Verzeichnis zurück wechseln (2)
authorBernd Bleßmann <bernd@kivitendo-premium.de>
Tue, 26 Nov 2019 09:18:26 +0000 (10:18 +0100)
committerBernd Bleßmann <bernd@kivitendo-premium.de>
Tue, 26 Nov 2019 09:22:35 +0000 (10:22 +0100)
Der erste commit 108753a78b203dbe0ccbe6438cc16c8df33c04d3 hat das Drucken
ohne Fehler beim Ins-Webdav-Kopieren kaputt gemacht. Probleme waren:
- ein return vergessen
- chdir zurück auch ohne Fehler

Diese commit fixt das.

Bezieht sich auch auf #96 (redmine)
Refs #96

SL/Common.pm
SL/Form.pm

index 193476c..fb1b4b8 100644 (file)
@@ -598,6 +598,7 @@ sub copy_file_to_webdav_folder {
     return $::locale->text("Copy file from #1 to #2 failed: #3", $current_file, $new_file, $ERRNO);
   }
 
+  return;
   $::lxdebug->leave_sub();
 }
 
index f162f20..7414cdb 100644 (file)
@@ -1037,9 +1037,10 @@ sub parse_template {
     copy(join('/', $self->{cwd}, $userspath, $self->{tmpfile}), $out =~ m|^/| ? $out : join('/', $self->{cwd}, $out)) if $template->uses_temp_file;
 
     if ($copy_to_webdav) {
-      my $error = Common::copy_file_to_webdav_folder($self);
-      chdir("$self->{cwd}");
-      $self->error($error) if $error;
+      if (my $error = Common::copy_file_to_webdav_folder($self)) {
+        chdir("$self->{cwd}");
+        $self->error($error);
+      }
     }
 
     if (!$self->{preview} && $self->doc_storage_enabled)
@@ -1056,9 +1057,10 @@ sub parse_template {
   }
 
   if ($copy_to_webdav) {
-    my $error = Common::copy_file_to_webdav_folder($self);
-    chdir("$self->{cwd}");
-    $self->error($error) if $error;
+    if (my $error = Common::copy_file_to_webdav_folder($self)) {
+      chdir("$self->{cwd}");
+      $self->error($error);
+    }
   }
 
   if ( !$self->{preview} && $ext_for_format eq 'pdf' && $self->doc_storage_enabled) {