]> wagnertech.de Git - mfinanz.git/blobdiff - SL/Webdav/VersionScheme/Serial.pm
Webdav: Framework um Dokumente im Webdav zu behandeln
[mfinanz.git] / SL / Webdav / VersionScheme / Serial.pm
diff --git a/SL/Webdav/VersionScheme/Serial.pm b/SL/Webdav/VersionScheme/Serial.pm
new file mode 100644 (file)
index 0000000..fa5f5a9
--- /dev/null
@@ -0,0 +1,28 @@
+package SL::Webdav::VersionScheme::Serial;
+
+use strict;
+use parent qw(Rose::Object);
+
+use DateTime;
+
+sub separator { "-" }
+
+sub extract_regexp { qr/\d+/ }
+
+sub cmp { sub { $_[0]->version <=> $_[1]->version } }
+
+sub first_version { }
+
+sub next_version { $_[1]->version + 1 }
+
+sub keep_last_version {
+  my ($self, $last) = @_;
+
+  if ($::lxoffice_conf->{webdav}{new_version_after_minutes}) {
+    return DateTime->now <= $last->mtime + DateTime::Duration->new(minutes => $::lx_office_conf{webdav}{new_version_after_minutes});
+  } else {
+    return 0;
+  }
+}
+
+1;