do task_changed_state transitions as admin (#4551)

This commit is contained in:
Frédéric Péters 2014-03-24 12:37:51 +01:00
parent 7998c83208
commit 70e8e7e146
4 changed files with 7 additions and 5 deletions

View File

@ -4,7 +4,7 @@
description="Workflow for basic tasks"
state_variable="review_state"
initial_state="todo"
manager_bypass="False"
manager_bypass="True"
xmlns:i18n="http://xml.zope.org/namespaces/i18n"
i18n:domain="plone">
<permission>Modify portal content</permission>

View File

@ -4,7 +4,7 @@
description="Task workflow"
state_variable="review_state"
initial_state="todo"
manager_bypass="False"
manager_bypass="True"
xmlns:i18n="http://xml.zope.org/namespaces/i18n"
i18n:domain="plone">
<permission>Modify portal content</permission>

View File

@ -4,7 +4,7 @@
description="Workflow for validations"
state_variable="review_state"
initial_state="todo"
manager_bypass="False"
manager_bypass="True"
xmlns:i18n="http://xml.zope.org/namespaces/i18n"
i18n:domain="plone">
<permission>Modify portal content</permission>

View File

@ -34,10 +34,12 @@ def task_changed_state(context, event):
if parent.portal_type == 'task':
with api.env.adopt_roles(['Reviewer']):
if event.new_state.id == 'done':
api.content.transition(obj=parent, transition='subtask-done')
with api.env.adopt_user('admin'):
api.content.transition(obj=parent, transition='subtask-done')
parent.reindexObject(idxs=['review_state'])
elif event.new_state.id == 'abandoned':
api.content.transition(obj=parent, transition='subtask-abandoned')
with api.env.adopt_user('admin'):
api.content.transition(obj=parent, transition='subtask-abandoned')
parent.reindexObject(idxs=['review_state'])