This repository has been archived on 2023-02-21. You can view files and clone it, but cannot push or open issues or pull requests.
collective.task/src/collective/task/profiles/default/workflows/task_workflow/definition.xml

195 lines
8.2 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-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-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-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-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-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-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>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>here/@@subtask_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>