add abandoned status to basic task and validation workflows (#4938)
This commit is contained in:
parent
7b9fe6c4ab
commit
907d360c36
|
@ -22,6 +22,7 @@
|
|||
</state>
|
||||
<state state_id="todo" title="To do" i18n:attributes="title">
|
||||
<exit-transition transition_id="mark-as-done"/>
|
||||
<exit-transition transition_id="abandon"/>
|
||||
<permission-map name="View" acquired="False" i18n:attributes="title">
|
||||
<permission-role>Editor</permission-role>
|
||||
<permission-role>Manager</permission-role>
|
||||
|
@ -34,10 +35,28 @@
|
|||
<permission-role>Reviewer</permission-role>
|
||||
</permission-map>
|
||||
</state>
|
||||
<state state_id="abandoned" title="Abandoned" i18n:attributes="title">
|
||||
<permission-map name="View" acquired="False">
|
||||
<permission-role>Manager</permission-role>
|
||||
<permission-role>Reviewer</permission-role>
|
||||
<permission-role>Editor</permission-role>
|
||||
<permission-role>Reader</permission-role>
|
||||
</permission-map>
|
||||
<permission-map name="Modify portal content" acquired="False">
|
||||
<permission-role>Manager</permission-role>
|
||||
</permission-map>
|
||||
</state>
|
||||
|
||||
<transition transition_id="mark-as-done" title="Mark as done" new_state="done" trigger="USER" before_script="" after_script="">
|
||||
<action url="" category="workflow" icon="" i18n:translate="">Mark as done</action>
|
||||
<guard>
|
||||
<guard-role>Editor</guard-role>
|
||||
</guard>
|
||||
</transition>
|
||||
<transition transition_id="abandon" title="Abandon" new_state="abandoned" trigger="USER" before_script="" after_script="">
|
||||
<action url="" category="workflow" icon="" i18n:translate="">Abandon</action>
|
||||
<guard>
|
||||
<guard-role>Manager</guard-role>
|
||||
</guard>
|
||||
</transition>
|
||||
</dc-workflow>
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
<state state_id="todo" title="To do" i18n:attributes="title">
|
||||
<exit-transition transition_id="validate"/>
|
||||
<exit-transition transition_id="refuse"/>
|
||||
<exit-transition transition_id="abandon"/>
|
||||
<permission-map name="View" acquired="False" i18n:attributes="title">
|
||||
<permission-role>Editor</permission-role>
|
||||
<permission-role>Manager</permission-role>
|
||||
|
@ -46,6 +47,19 @@
|
|||
<permission-role>Reviewer</permission-role>
|
||||
</permission-map>
|
||||
</state>
|
||||
<state state_id="abandoned" title="Abandoned" i18n:attributes="title">
|
||||
<permission-map name="View" acquired="False">
|
||||
<permission-role>Manager</permission-role>
|
||||
<permission-role>Reviewer</permission-role>
|
||||
<permission-role>Editor</permission-role>
|
||||
<permission-role>Reader</permission-role>
|
||||
</permission-map>
|
||||
<permission-map name="Modify portal content" acquired="False">
|
||||
<permission-role>Manager</permission-role>
|
||||
</permission-map>
|
||||
</state>
|
||||
|
||||
|
||||
<transition transition_id="validate" title="Validate" new_state="validated" trigger="USER" before_script="" after_script="">
|
||||
<action url="" category="workflow" icon="" i18n:translate="">Validate</action>
|
||||
<guard>
|
||||
|
@ -58,4 +72,11 @@
|
|||
<guard-role>Editor</guard-role>
|
||||
</guard>
|
||||
</transition>
|
||||
<transition transition_id="abandon" title="Abandon" new_state="abandoned" trigger="USER" before_script="" after_script="">
|
||||
<action url="" category="workflow" icon="" i18n:translate="">Abandon</action>
|
||||
<guard>
|
||||
<guard-role>Manager</guard-role>
|
||||
</guard>
|
||||
</transition>
|
||||
|
||||
</dc-workflow>
|
||||
|
|
|
@ -41,11 +41,17 @@ def task_changed_state(context, event):
|
|||
with api.env.adopt_roles(['Reviewer']):
|
||||
if event.new_state.id == 'done':
|
||||
with api.env.adopt_user('admin'):
|
||||
api.content.transition(obj=parent, transition='subtask-done')
|
||||
try:
|
||||
api.content.transition(obj=parent, transition='subtask-done')
|
||||
except api.exc.InvalidParameterError:
|
||||
pass
|
||||
parent.reindexObject(idxs=['review_state'])
|
||||
elif event.new_state.id == 'abandoned':
|
||||
with api.env.adopt_user('admin'):
|
||||
api.content.transition(obj=parent, transition='subtask-abandoned')
|
||||
try:
|
||||
api.content.transition(obj=parent, transition='subtask-abandoned')
|
||||
except api.exc.InvalidParameterError:
|
||||
pass
|
||||
parent.reindexObject(idxs=['review_state'])
|
||||
|
||||
|
||||
|
|
Reference in New Issue