18 from uuid import uuid4 |
18 from uuid import uuid4 |
19 |
19 |
20 # import interfaces |
20 # import interfaces |
21 from pyams_content.interfaces import MANAGE_SITE_ROOT_PERMISSION, MANAGE_CONTENT_PERMISSION, CREATE_CONTENT_PERMISSION, \ |
21 from pyams_content.interfaces import MANAGE_SITE_ROOT_PERMISSION, MANAGE_CONTENT_PERMISSION, CREATE_CONTENT_PERMISSION, \ |
22 PUBLISH_CONTENT_PERMISSION |
22 PUBLISH_CONTENT_PERMISSION |
23 from pyams_content.interfaces.review import IReviewComments |
23 from pyams_content.features.review.interfaces import IReviewComments |
24 from pyams_content.shared.common.interfaces import IWfSharedContent, ISharedContent, ISharedTool, IManagerRestrictions |
24 from pyams_content.shared.common.interfaces import IWfSharedContent, ISharedContent, ISharedTool, IManagerRestrictions |
25 from pyams_form.interfaces.form import IFormContextPermissionChecker, IWidgetsPrefixViewletsManager |
25 from pyams_form.interfaces.form import IFormContextPermissionChecker, IWidgetsPrefixViewletsManager |
26 from pyams_i18n.interfaces import II18n, II18nManager |
26 from pyams_i18n.interfaces import II18n, II18nManager |
27 from pyams_sequence.interfaces import ISequentialIntIds, ISequentialIdInfo |
27 from pyams_sequence.interfaces import ISequentialIdInfo |
28 from pyams_skin.interfaces import IContentTitle |
28 from pyams_skin.interfaces import IContentTitle |
29 from pyams_skin.interfaces.container import ITable, ITableElementEditor |
29 from pyams_skin.interfaces.container import ITable, ITableElementEditor |
30 from pyams_skin.interfaces.viewlet import IContextActions, IMenuHeader, IBreadcrumbItem |
30 from pyams_skin.interfaces.viewlet import IContextActions, IMenuHeader, IBreadcrumbItem |
31 from pyams_skin.layer import IPyAMSLayer |
31 from pyams_skin.layer import IPyAMSLayer |
32 from pyams_utils.interfaces import FORBIDDEN_PERMISSION |
32 from pyams_utils.interfaces import FORBIDDEN_PERMISSION |
288 registry.notify(ObjectCreatedEvent(new_version)) |
288 registry.notify(ObjectCreatedEvent(new_version)) |
289 locate(new_version, self.context.__parent__) # locate new version for traversing to work... |
289 locate(new_version, self.context.__parent__) # locate new version for traversing to work... |
290 new_version.creator = self.request.principal.id |
290 new_version.creator = self.request.principal.id |
291 new_version.owner = self.request.principal.id |
291 new_version.owner = self.request.principal.id |
292 new_version.modifiers = set() |
292 new_version.modifiers = set() |
293 IReviewComments(new_version).clear() |
293 # check comments |
|
294 comments = IReviewComments(new_version, None) |
|
295 if comments is not None: |
|
296 comments.clear() |
294 # store new version |
297 # store new version |
295 translate = self.request.localizer.translate |
298 translate = self.request.localizer.translate |
296 workflow = get_utility(IWorkflow, name=new_content.workflow_name) |
299 workflow = get_utility(IWorkflow, name=new_content.workflow_name) |
297 IWorkflowVersions(new_content).add_version(new_version, workflow.initial_state) |
300 IWorkflowVersions(new_content).add_version(new_version, workflow.initial_state) |
298 # update new version history |
301 # update new version history |