X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/01e8c00277531869451a149c43e3f475869b89ca..a91cbf40e63f09f6e0177f08b0c83e554a0ea0f1:/SL/File/Backend/Webdav.pm?ds=inline diff --git a/SL/File/Backend/Webdav.pm b/SL/File/Backend/Webdav.pm index 08df7650a..2956e03f9 100644 --- a/SL/File/Backend/Webdav.pm +++ b/SL/File/Backend/Webdav.pm @@ -5,12 +5,13 @@ use strict; use parent qw(SL::File::Backend); use SL::DB::File; -#use SL::Webdav; +use SL::System::Process; use File::Copy; use File::Slurp; use File::Basename; use File::Path qw(make_path); use File::MimeInfo::Magic; +use File::stat; # # public methods @@ -73,9 +74,8 @@ sub get_mtime { die "no dbfile" unless $params{dbfile}; $main::lxdebug->message(LXDebug->DEBUG2(), "version=" .$params{version}); my ($path, undef, undef) = $self->webdav_path($params{dbfile}); - die "no file found in backend" if !-f $path; - my @st = stat($path); - my $dt = DateTime->from_epoch(epoch => $st[9])->clone(); + die "No file found in Backend: " . $path unless -f $path; + my $dt = DateTime->from_epoch(epoch => stat($path)->mtime, time_zone => $::locale->get_local_time_zone()->name)->clone(); $main::lxdebug->message(LXDebug->DEBUG2(), "dt=" .$dt); return $dt; } @@ -84,7 +84,7 @@ sub get_filepath { my ($self, %params) = @_; die "no dbfile" unless $params{dbfile}; my ($path, undef, undef) = $self->webdav_path($params{dbfile}); - die "no file" if !-f $path; + die "No file found in Backend: " . $path unless -f $path; return $path; } @@ -105,8 +105,7 @@ sub sync_from_backend { } sub enabled { - return 0 unless $::instance_conf->get_doc_webdav; - return 1; + return $::instance_conf->get_doc_webdav; } # @@ -167,7 +166,7 @@ my %model_to_number = ( GLTransaction => 'reference', ShopImage => 'partnumber', Customer => 'customernumber', - Vendor => 'vendor', + Vendor => 'vendornumber', ); sub webdav_path { @@ -206,17 +205,7 @@ sub webdav_path { return (File::Spec->catfile($path, $fname), $path, $fname); } -sub get_rootdir { - my ($self) = @_; - - #TODO immer noch das alte Problem: - #je nachdem von woher der Aufruf kommt ist man in ./users oder . - my $rootdir = POSIX::getcwd(); - my $basename = basename($rootdir); - my $dirname = dirname($rootdir); - $rootdir = $dirname if $basename eq 'users'; - return $rootdir; -} +sub get_rootdir { SL::System::Process::exe_dir() } sub _get_number_from_model { my ($self, $dbfile) = @_; @@ -346,5 +335,3 @@ The synchronization must be tested and a periodical task is needed to synchroniz Martin Helmling Emartin.helmling@opendynamic.deE =cut - -