diff --git a/browser/common.py b/browser/common.py index 627b931..a49a638 100644 --- a/browser/common.py +++ b/browser/common.py @@ -487,6 +487,10 @@ class BaseView(GenericView, I18NView): # versioning + @Lazy + def versionable(self): + return IVersionable(self.target, None) + @Lazy def useVersioning(self): if self.globalOptions('useVersioning'): @@ -495,6 +499,13 @@ class BaseView(GenericView, I18NView): if options: return 'useVersioning' in options.value + @Lazy + def versionLevels(self): + if self.versionable is not None: + return reversed([dict(token=idx, label=label) + for idx, label in enumerate(self.versionable.versionLevels)]) + return [] + @Lazy def versionId(self): versionable = IVersionable(self.target, None) diff --git a/browser/form.py b/browser/form.py index 726ef60..1b104b7 100644 --- a/browser/form.py +++ b/browser/form.py @@ -617,7 +617,8 @@ class EditObject(FormController, I18NView): form = self.request.form if form.get('version.create'): versionable = IVersionable(obj) - level = int(form.get('version.level', 1)) + #level = int(form.get('version.level', 1)) + level = int(form.get('version.level', 0)) version = versionable.createVersion(level) notify(ObjectCreatedEvent(version)) return version diff --git a/browser/form_macros.pt b/browser/form_macros.pt index 4bd900b..1b15977 100644 --- a/browser/form_macros.pt +++ b/browser/form_macros.pt @@ -231,9 +231,12 @@ - +