]> wagnertech.de Git - mfinanz.git/blobdiff - SL/File.pm
Mahnungen: Mit Rechnung verknüpfen
[mfinanz.git] / SL / File.pm
index 329697474cee79472b4b9c7660ed88bf29969e4b..93655f6f79fb8a34ce0f95bf7fc12bb6e559083d 100644 (file)
@@ -4,7 +4,6 @@ use strict;
 
 use parent qw(Rose::Object);
 
 
 use parent qw(Rose::Object);
 
-use Clone qw(clone);
 use SL::File::Backend;
 use SL::File::Object;
 use SL::DB::History;
 use SL::File::Backend;
 use SL::File::Object;
 use SL::DB::History;
@@ -78,13 +77,13 @@ sub get_all_versions {
       for my $version (2..$maxversion) {
         $main::lxdebug->message(LXDebug->DEBUG2(), "clone for version=".($maxversion-$version+1));
         eval {
       for my $version (2..$maxversion) {
         $main::lxdebug->message(LXDebug->DEBUG2(), "clone for version=".($maxversion-$version+1));
         eval {
-          my $clone = clone($fileobj);
+          my $clone = $fileobj->clone;
           $clone->version($maxversion-$version+1);
           $clone->newest(0);
           $main::lxdebug->message(LXDebug->DEBUG2(), "clone version=".$clone->version." mtime=". $clone->mtime);
           push @versionobjs, $clone;
           1;
           $clone->version($maxversion-$version+1);
           $clone->newest(0);
           $main::lxdebug->message(LXDebug->DEBUG2(), "clone version=".$clone->version." mtime=". $clone->mtime);
           push @versionobjs, $clone;
           1;
-        }
+        } or do {$::lxdebug->message(LXDebug::WARN(), "clone for version=".($maxversion-$version+1) . "failed: " . $@)};
       }
     }
   }
       }
     }
   }
@@ -220,6 +219,8 @@ sub _save {
         title          => $params{title},
         description    => $params{description},
       );
         title          => $params{title},
         description    => $params{description},
       );
+      $file->itime($params{mtime})    if $params{mtime};
+      $params{itime} = $params{mtime} if $params{mtime};
     }
   } else {
     $exists = 1;
     }
   } else {
     $exists = 1;
@@ -236,12 +237,14 @@ sub _save {
     # load itime for new file
     $file->save->load;
   }
     # load itime for new file
     $file->save->load;
   }
-  $main::lxdebug->message(LXDebug->DEBUG2(), "backend3=" .$file->backend);
+
+  $file->mtime(DateTime->now_local) unless $params{mtime};
+  $file->mtime($params{mtime}     ) if     $params{mtime};
+
   my $backend = $self->_get_backend($file->backend);
   $params{dbfile} = $file;
   $backend->save(%params);
 
   my $backend = $self->_get_backend($file->backend);
   $params{dbfile} = $file;
   $backend->save(%params);
 
-  $file->mtime(DateTime->now_local);
   $file->save;
   #ShopImage
   if($file->object_type eq "shop_image"){
   $file->save;
   #ShopImage
   if($file->object_type eq "shop_image"){