Kundenstatistik: Link bei den Rechnungen, Übersetzungen
[kivitendo-erp.git] / SL / File.pm
index 677be67..8305594 100644 (file)
@@ -72,6 +72,7 @@ sub get_all_versions {
   foreach my $fileobj (@fileobjs) {
     $main::lxdebug->message(LXDebug->DEBUG2(), "obj=" . $fileobj . " id=" . $fileobj->id." versions=".$fileobj->version_count);
     my $maxversion = $fileobj->version_count;
+    $fileobj->version($maxversion);
     push @versionobjs, $fileobj;
     if ($maxversion > 1) {
       for my $version (2..$maxversion) {
@@ -162,8 +163,8 @@ sub _delete {
   }
   if ($backend->delete(%params)) {
     my $do_delete = 0;
-    if ( $params{last} || $params{all_but_notlast} ) {
-      if ( $backend->get_version_count > 0 ) {
+    if ( $params{last} || $params{version} || $params{all_but_notlast} ) {
+      if ( $backend->get_version_count(%params) > 0 ) {
         $params{dbfile}->mtime(DateTime->now_local);
         $params{dbfile}->save;
       } else {
@@ -219,6 +220,8 @@ sub _save {
         title          => $params{title},
         description    => $params{description},
       );
+      $file->itime($params{mtime})    if $params{mtime};
+      $params{itime} = $params{mtime} if $params{mtime};
     }
   } else {
     $exists = 1;
@@ -235,12 +238,14 @@ sub _save {
     # 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);
 
-  $file->mtime(DateTime->now_local);
   $file->save;
   #ShopImage
   if($file->object_type eq "shop_image"){