2009-06-08 23:16:51 +02:00
<?xml version="1.0"?>
<dc-workflow xmlns:i18n= "http://xml.zope.org/namespaces/i18n"
2010-01-27 15:46:12 +01:00
i18n:domain="plone"
2009-06-08 23:16:51 +02:00
workflow_id="comment_review_workflow"
title="Comment Review Workflow"
2010-09-24 05:11:39 +02:00
description="A simple review workflow for comments"
2009-06-08 23:16:51 +02:00
state_variable="review_state"
initial_state="pending"
i18n:attributes="title; description">
2020-01-06 18:02:23 +01:00
<permission > Access contents information</permission>
<permission > Modify portal content</permission>
<permission > Reply to item</permission>
<permission > View</permission>
<state state_id= "pending" title= "Pending" >
<description > Submitted, pending review.</description>
<exit-transition transition_id= "mark_as_spam" />
<exit-transition transition_id= "publish" />
<exit-transition transition_id= "reject" />
<permission-map name= "Access contents information" acquired= "False" >
<permission-role > Manager</permission-role>
<permission-role > Owner</permission-role>
<permission-role > Reviewer</permission-role>
</permission-map>
<permission-map name= "Modify portal content" acquired= "False" >
<permission-role > Manager</permission-role>
<permission-role > Owner</permission-role>
<permission-role > Reviewer</permission-role>
</permission-map>
<permission-map name= "Reply to item" acquired= "False" >
</permission-map>
<permission-map name= "View" acquired= "False" >
<permission-role > Manager</permission-role>
<permission-role > Owner</permission-role>
<permission-role > Reviewer</permission-role>
</permission-map>
</state>
<state state_id= "published" title= "Published" >
<description > Visible to everyone, non-editable.</description>
<exit-transition transition_id= "mark_as_spam" />
<exit-transition transition_id= "recall" />
<exit-transition transition_id= "reject" />
<permission-map name= "Access contents information" acquired= "True" >
</permission-map>
<permission-map name= "Modify portal content" acquired= "False" >
<permission-role > Manager</permission-role>
</permission-map>
<permission-map name= "Reply to item" acquired= "True" >
</permission-map>
<permission-map name= "View" acquired= "True" >
</permission-map>
</state>
<state state_id= "rejected" title= "Rejected" >
<exit-transition transition_id= "mark_as_spam" />
<exit-transition transition_id= "publish" />
<exit-transition transition_id= "recall" />
</state>
<state state_id= "spam" title= "Spam" >
<exit-transition transition_id= "publish" />
<exit-transition transition_id= "recall" />
<exit-transition transition_id= "reject" />
</state>
<transition transition_id= "mark_as_spam" title= "Mark as spam" new_state= "spam" trigger= "USER" before_script= "" after_script= "" >
<description > Spam comments are invisible to other users.</description>
<action url= "%(content_url)s/content_status_modify?workflow_action=mark_as_spam" category= "workflow" icon= "" > Spam</action>
<guard >
<guard-permission > Review comments</guard-permission>
</guard>
</transition>
<transition transition_id= "publish" title= "Reviewer approves content" new_state= "published" trigger= "USER" before_script= "" after_script= "" >
<description > Approving the comment makes it visible to other users.</description>
<action url= "%(content_url)s/content_status_modify?workflow_action=publish" category= "workflow" icon= "" > Approve</action>
<guard >
<guard-permission > Review comments</guard-permission>
</guard>
</transition>
<transition transition_id= "recall" title= "Reviewer recalls comment back to pending state" new_state= "pending" trigger= "USER" before_script= "" after_script= "" >
<action url= "%(content_url)s/content_status_modify?workflow_action=recall" category= "workflow" icon= "" > Recall</action>
<guard >
<guard-permission > Review comments</guard-permission>
</guard>
</transition>
<transition transition_id= "reject" title= "Reviewer rejects comment" new_state= "rejected" trigger= "USER" before_script= "" after_script= "" >
<description > Rejected comments are invisible to other users.</description>
<action url= "%(content_url)s/content_status_modify?workflow_action=reject" category= "workflow" icon= "" > Reject</action>
<guard >
<guard-permission > Review comments</guard-permission>
</guard>
</transition>
<variable variable_id= "action" for_catalog= "False" for_status= "True" update_always= "True" >
<description > Previous transition</description>
<default >
2009-06-08 23:16:51 +02:00
2020-01-06 18:02:23 +01:00
<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 >
2009-06-08 23:16:51 +02:00
2020-01-06 18:02:23 +01:00
<expression > user/getUserName</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 >
2009-06-08 23:16:51 +02:00
2020-01-06 18:02:23 +01:00
<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 >
2009-06-08 23:16:51 +02:00
2020-01-06 18:02:23 +01:00
<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 >
2009-06-08 23:16:51 +02:00
2020-01-06 18:02:23 +01:00
<expression > state_change/getDateTime</expression>
</default>
<guard >
</guard>
</variable>
</dc-workflow>