201 lines
8.5 KiB
XML
201 lines
8.5 KiB
XML
<?xml version="1.0"?>
|
|
<dc-workflow workflow_id="task_workflow"
|
|
title="Task Workflow"
|
|
description="Task workflow"
|
|
state_variable="review_state"
|
|
initial_state="todo"
|
|
manager_bypass="False"
|
|
xmlns:i18n="http://xml.zope.org/namespaces/i18n"
|
|
i18n:domain="plone">
|
|
<permission>Modify portal content</permission>
|
|
<permission>View</permission>
|
|
<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>
|
|
<state state_id="attributed" title="Attributed" i18n:attributes="title">
|
|
<exit-transition transition_id="subtask-abandoned"/>
|
|
<exit-transition transition_id="subtask-done"/>
|
|
<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>
|
|
<state state_id="done" title="Done" 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>
|
|
<state state_id="in-progress" title="In progress" i18n:attributes="title">
|
|
<exit-transition transition_id="ask-for-refusal"/>
|
|
<exit-transition transition_id="mark-as-done"/>
|
|
<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>
|
|
<state state_id="refusal-requested" title="Refusal requested" i18n:attributes="title">
|
|
<exit-transition transition_id="accept-refusal"/>
|
|
<exit-transition transition_id="refuse-refusal"/>
|
|
<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-role>Reviewer</permission-role>
|
|
</permission-map>
|
|
</state>
|
|
<state state_id="todo" title="To do" i18n:attributes="title">
|
|
<exit-transition transition_id="ask-for-refusal"/>
|
|
<exit-transition transition_id="attribute"/>
|
|
<exit-transition transition_id="take-responsibility"/>
|
|
<exit-transition transition_id="abandon"/>
|
|
<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-role>Reviewer</permission-role>
|
|
</permission-map>
|
|
</state>
|
|
<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>Reviewer</guard-role>
|
|
</guard>
|
|
</transition>
|
|
<transition transition_id="accept-refusal" title="Accept refusal" new_state="abandoned" trigger="USER" before_script="" after_script="">
|
|
<action url="%(content_url)s/view?workflow_action=accept-refusal" category="workflow" icon="" i18n:translate="">Accept refusal</action>
|
|
<guard>
|
|
<guard-role>Reviewer</guard-role>
|
|
</guard>
|
|
</transition>
|
|
<transition transition_id="ask-for-refusal" title="Ask for refusal" new_state="refusal-requested" trigger="USER" before_script="" after_script="">
|
|
<action url="%(content_url)s/view?workflow_action=ask-for-refusal" category="workflow" icon="" i18n:translate="">Ask for refusal</action>
|
|
<guard>
|
|
<guard-role>Editor</guard-role>
|
|
</guard>
|
|
</transition>
|
|
<transition transition_id="attribute" title="Attribute" new_state="attributed" trigger="USER" before_script="" after_script="">
|
|
<action url="%(content_url)s/@@attribute_task?workflow_action=attribute" category="workflow" i18n:translate="">Attribute task to</action>
|
|
<guard>
|
|
<guard-role>Editor</guard-role>
|
|
</guard>
|
|
</transition>
|
|
<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-role>Reviewer</guard-role>
|
|
</guard>
|
|
</transition>
|
|
<transition transition_id="refuse-refusal" title="Refuse refusal" new_state="todo" trigger="USER" before_script="" after_script="">
|
|
<action url="%(content_url)s/view?workflow_action=refuse-refusal" category="workflow" icon="" i18n:translate="">Refuse refusal</action>
|
|
<guard>
|
|
<guard-role>Reviewer</guard-role>
|
|
</guard>
|
|
</transition>
|
|
<transition transition_id="subtask-abandoned" title="Subtask abandoned" new_state="todo" trigger="USER" before_script="" after_script="">
|
|
<action url="" category="workflow" icon="" i18n:translate="">Subtask abandoned</action>
|
|
<guard>
|
|
<guard-expression>python: here.subtasks_abandoned()</guard-expression>
|
|
</guard>
|
|
</transition>
|
|
<transition transition_id="subtask-done" title="Subtask done" new_state="done" trigger="USER" before_script="" after_script="">
|
|
<action url="" category="workflow" icon="" i18n:translate="">Subtask done</action>
|
|
<guard>
|
|
<guard-expression>python: here.subtasks_done()</guard-expression>
|
|
</guard>
|
|
</transition>
|
|
<transition transition_id="take-responsibility" title="Take responsibility" new_state="in-progress" trigger="USER" before_script="" after_script="">
|
|
<action url="%(content_url)s/content_status_modify?workflow_action=take-responsibility" category="workflow" icon="" i18n:translate="">Take responsibility</action>
|
|
<guard>
|
|
<guard-role>Editor</guard-role>
|
|
</guard>
|
|
</transition>
|
|
<worklist worklist_id="reviewer_queue" title="">
|
|
<description>Reviewer tasks</description>
|
|
<action url="%(portal_url)s/search?review_state=pending" category="global" icon="">Pending (%(count)d)</action>
|
|
<guard>
|
|
<guard-permission>Review portal content</guard-permission>
|
|
</guard>
|
|
<match name="review_state" values="pending"/>
|
|
</worklist>
|
|
<variable variable_id="action" for_catalog="False" for_status="True" update_always="True">
|
|
<description>Previous transition</description>
|
|
<default>
|
|
|
|
<expression>transition/getId|nothing</expression>
|
|
</default>
|
|
<guard>
|
|
</guard>
|
|
</variable>
|
|
<variable variable_id="actor" for_catalog="False" for_status="True" update_always="True">
|
|
<description>The ID of the user who performed the previous transition</description>
|
|
<default>
|
|
|
|
<expression>user/getId</expression>
|
|
</default>
|
|
<guard>
|
|
</guard>
|
|
</variable>
|
|
<variable variable_id="comments" for_catalog="False" for_status="True" update_always="True">
|
|
<description>Comment about the last transition</description>
|
|
<default>
|
|
|
|
<expression>python:state_change.kwargs.get('comment', '')</expression>
|
|
</default>
|
|
<guard>
|
|
</guard>
|
|
</variable>
|
|
<variable variable_id="review_history" for_catalog="False" for_status="False" update_always="False">
|
|
<description>Provides access to workflow history</description>
|
|
<default>
|
|
|
|
<expression>state_change/getHistory</expression>
|
|
</default>
|
|
<guard>
|
|
<guard-permission>Request review</guard-permission>
|
|
<guard-permission>Review portal content</guard-permission>
|
|
</guard>
|
|
</variable>
|
|
<variable variable_id="time" for_catalog="False" for_status="True" update_always="True">
|
|
<description>When the previous transition was performed</description>
|
|
<default>
|
|
|
|
<expression>state_change/getDateTime</expression>
|
|
</default>
|
|
<guard>
|
|
</guard>
|
|
</variable>
|
|
</dc-workflow>
|