From: Bernd Bleßmann Date: Tue, 26 Nov 2019 09:18:26 +0000 (+0100) Subject: WebDav: Fehler beim Kopieren anzeigen / Verzeichnis zurück wechseln (2) X-Git-Tag: release-3.5.6.1~425 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=da1f7513fd3b86ead76b330c37209d6ed95bd853;p=kivitendo-erp.git WebDav: Fehler beim Kopieren anzeigen / Verzeichnis zurück wechseln (2) 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 --- diff --git a/SL/Common.pm b/SL/Common.pm index 193476c54..fb1b4b850 100644 --- a/SL/Common.pm +++ b/SL/Common.pm @@ -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(); } diff --git a/SL/Form.pm b/SL/Form.pm index f162f2095..7414cdb4c 100644 --- a/SL/Form.pm +++ b/SL/Form.pm @@ -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) {