[Checkins] SVN: Products.DCWorkflow/branches/2.2/Products/DCWorkflow/ Allow renaming of states, transitions, variables and worklists
Leonardo Rochael Almeida
leorochael at gmail.com
Wed Feb 23 12:53:21 EST 2011
Log message for revision 120551:
Allow renaming of states, transitions, variables and worklists
Changed:
U Products.DCWorkflow/branches/2.2/Products/DCWorkflow/States.py
U Products.DCWorkflow/branches/2.2/Products/DCWorkflow/Transitions.py
U Products.DCWorkflow/branches/2.2/Products/DCWorkflow/Variables.py
U Products.DCWorkflow/branches/2.2/Products/DCWorkflow/Worklists.py
U Products.DCWorkflow/branches/2.2/Products/DCWorkflow/tests/test_DCWorkflow.py
-=-
Modified: Products.DCWorkflow/branches/2.2/Products/DCWorkflow/States.py
===================================================================
--- Products.DCWorkflow/branches/2.2/Products/DCWorkflow/States.py 2011-02-23 17:12:11 UTC (rev 120550)
+++ Products.DCWorkflow/branches/2.2/Products/DCWorkflow/States.py 2011-02-23 17:53:21 UTC (rev 120551)
@@ -265,6 +265,7 @@
all_meta_types = ({'name':StateDefinition.meta_type,
'action':'addState',
+ 'permission': ManagePortal,
},)
_manage_states = DTMLFile('states', _dtmldir)
Modified: Products.DCWorkflow/branches/2.2/Products/DCWorkflow/Transitions.py
===================================================================
--- Products.DCWorkflow/branches/2.2/Products/DCWorkflow/Transitions.py 2011-02-23 17:12:11 UTC (rev 120550)
+++ Products.DCWorkflow/branches/2.2/Products/DCWorkflow/Transitions.py 2011-02-23 17:53:21 UTC (rev 120551)
@@ -229,6 +229,7 @@
all_meta_types = ({'name':TransitionDefinition.meta_type,
'action':'addTransition',
+ 'permission': ManagePortal,
},)
_manage_transitions = DTMLFile('transitions', _dtmldir)
Modified: Products.DCWorkflow/branches/2.2/Products/DCWorkflow/Variables.py
===================================================================
--- Products.DCWorkflow/branches/2.2/Products/DCWorkflow/Variables.py 2011-02-23 17:12:11 UTC (rev 120550)
+++ Products.DCWorkflow/branches/2.2/Products/DCWorkflow/Variables.py 2011-02-23 17:53:21 UTC (rev 120551)
@@ -115,6 +115,7 @@
all_meta_types = ({'name':VariableDefinition.meta_type,
'action':'addVariable',
+ 'permission': ManagePortal,
},)
_manage_variables = DTMLFile('variables', _dtmldir)
Modified: Products.DCWorkflow/branches/2.2/Products/DCWorkflow/Worklists.py
===================================================================
--- Products.DCWorkflow/branches/2.2/Products/DCWorkflow/Worklists.py 2011-02-23 17:12:11 UTC (rev 120550)
+++ Products.DCWorkflow/branches/2.2/Products/DCWorkflow/Worklists.py 2011-02-23 17:53:21 UTC (rev 120551)
@@ -199,6 +199,7 @@
all_meta_types = ({'name':WorklistDefinition.meta_type,
'action':'addWorklist',
+ 'permission': ManagePortal,
},)
_manage_worklists = DTMLFile('worklists', _dtmldir)
Modified: Products.DCWorkflow/branches/2.2/Products/DCWorkflow/tests/test_DCWorkflow.py
===================================================================
--- Products.DCWorkflow/branches/2.2/Products/DCWorkflow/tests/test_DCWorkflow.py 2011-02-23 17:12:11 UTC (rev 120550)
+++ Products.DCWorkflow/branches/2.2/Products/DCWorkflow/tests/test_DCWorkflow.py 2011-02-23 17:53:21 UTC (rev 120551)
@@ -16,28 +16,35 @@
import unittest
import Testing
+import transaction
from zope.component import adapter
from zope.component import provideHandler
from zope.interface.verify import verifyClass
+from AccessControl.SecurityManagement import newSecurityManager
from Products.CMFCore.testing import TraversingEventZCMLLayer
from Products.CMFCore.tests.base.dummy import DummyContent
from Products.CMFCore.tests.base.dummy import DummySite
from Products.CMFCore.tests.base.dummy import DummyTool
+from Products.CMFCore.tests.base.security import OmnipotentUser
+from Products.CMFCore.tests.base.testcase import SecurityTest
from Products.CMFCore.WorkflowTool import WorkflowTool
from Products.DCWorkflow.interfaces import IAfterTransitionEvent
from Products.DCWorkflow.interfaces import IBeforeTransitionEvent
+class DCWorkflowDefinitionTests(SecurityTest):
-class DCWorkflowDefinitionTests(unittest.TestCase):
-
layer = TraversingEventZCMLLayer
def setUp(self):
+ SecurityTest.setUp(self)
self.site = DummySite('site')
+ self.root._setObject( 'site', self.site )
self.site._setObject( 'portal_types', DummyTool() )
self.site._setObject( 'portal_workflow', WorkflowTool() )
self._constructDummyWorkflow()
+ transaction.savepoint(optimistic=True)
+ newSecurityManager(None, OmnipotentUser().__of__(self.site))
def test_interfaces(self):
from Products.CMFCore.interfaces import IWorkflowDefinition
@@ -70,6 +77,9 @@
default_expr="python:state_change.kwargs.get('comment', '')",
for_status=1, update_always=1)
+ wf.worklists.addWorklist('published_documents')
+
+
def _getDummyWorkflow(self):
wftool = self.site.portal_workflow
return wftool.wf
@@ -175,6 +185,26 @@
# Check with kwargs.
self.assert_(wf.isActionSupported(dummy, 'publish', arg1=1, arg2=2))
+ def test_rename(self):
+
+ wftool = self.site.portal_workflow
+ wf = self._getDummyWorkflow()
+
+ wf.states.manage_renameObject('private', 'private_new')
+ self.assertNotEquals(None, wf.states._getOb('private_new', None))
+
+ wf.transitions.manage_renameObject('publish', 'publish_new')
+ self.assertNotEquals(None, wf.transitions._getOb('publish_new', None))
+
+ wf.variables.manage_renameObject('comments', 'comments_new')
+ self.assertNotEquals(None, wf.variables._getOb('comments_new', None))
+
+ wf.worklists.manage_renameObject('published_documents',
+ 'published_documents_new')
+ self.assertNotEquals(None,
+ wf.worklists._getOb('published_documents_new', None))
+
+
# XXX more tests...
More information about the checkins
mailing list