Ejemplo n.º 1
0
def clone_transition(transition, clone):
    transition.description = clone.description
    transition.new_state_id = clone.new_state_id
    transition.trigger_type = clone.trigger_type

    if clone.guard:
        guard = Guard()
        guard.permissions = clone.guard.permissions[:]
        guard.roles = clone.guard.roles[:]
        guard.groups = clone.guard.groups[:]
        transition.guard = guard

    transition.actbox_name = transition.title
    transition.actbox_url = clone.actbox_url.replace(clone.id, transition.id)
    transition.actbox_category = clone.actbox_category
    transition.var_exprs = clone.var_exprs
    transition.script_name = clone.script_name
    transition.after_script_name = clone.after_script_name
Ejemplo n.º 2
0
    def test_BaseGuardAPI(self):

        #
        # Test guard basic API
        #

        guard = Guard()
        self.assertNotEqual(guard, None)

        # Test default values
        self.assertEqual(guard.getPermissionsText(), '')
        self.assertEqual(guard.getRolesText(), '')
        self.assertEqual(guard.getExprText(), '')

        # Initialize the guard with empty values
        # not initialization
        guard_props = {'guard_permissions':'',
                       'guard_roles':'',
                       'guard_expr' :''}
        res = guard.changeFromProperties(guard_props)
        self.assert_(res==0)

        # Test default values
        self.assertEqual(guard.getPermissionsText(), '')
        self.assertEqual(guard.getRolesText(), '')
        self.assertEqual(guard.getExprText(), '')

        # Change guard
        guard_props = {'guard_roles':'Manager',
                       'guard_permissions':'',
                       'guard_expr' :''}
        res = guard.changeFromProperties(guard_props)
        self.assert_(res==1)
        self.assertEqual(guard.getRolesText(), 'Manager')
        self.assertEqual(guard.getPermissionsText(), '')
        self.assertEqual(guard.getExprText(), '')

        # Change guard
        guard_props = {'guard_roles':'Manager;',
                       'guard_permissions':'',
                       'guard_expr' :''}
        res = guard.changeFromProperties(guard_props)
        self.assert_(res==1)
        # With one space after the ';'
        self.assertEqual(guard.getRolesText(), 'Manager; ')
        self.assertEqual(guard.getPermissionsText(), '')
        self.assertEqual(guard.getExprText(), '')

        # Change guard
        guard_props = {'guard_roles':'Manager;Member',
                       'guard_permissions':'',
                       'guard_expr' :''}
        res = guard.changeFromProperties(guard_props)
        self.assert_(res==1)
        # With one space after the ';'
        self.assertEqual(guard.getRolesText(), 'Manager; Member')
        self.assertEqual(guard.getPermissionsText(), '')
        self.assertEqual(guard.getExprText(), '')

        # Change guard
        guard_props = {'guard_roles':'Manager;Member',
                       'guard_permissions':'',
                       'guard_expr' :''}
        res = guard.changeFromProperties(guard_props)
        self.assert_(res==1)
        # With one space after the ';'
        self.assertEqual(guard.getRolesText(), 'Manager; Member')
        self.assertEqual(guard.getPermissionsText(), '')
        self.assertEqual(guard.getExprText(), '')

        # Change guard
        guard_props = {'guard_roles':'Manager',
                       'guard_permissions':'',
                       'guard_expr' :''}
        res = guard.changeFromProperties(guard_props)
        self.assert_(res==1)
        self.assertEqual(guard.getRolesText(), 'Manager')
        self.assertEqual(guard.getPermissionsText(), '')
        self.assertEqual(guard.getExprText(), '')

        # Change guard
        guard_props = {'guard_roles':'Manager',
                       'guard_permissions':'ManagePortal;',
                       'guard_expr' :''}
        res = guard.changeFromProperties(guard_props)
        self.assert_(res==1)
        self.assertEqual(guard.getRolesText(), 'Manager')
        self.assertEqual(guard.getPermissionsText(), 'ManagePortal; ')
        self.assertEqual(guard.getExprText(), '')

        # Change guard
        guard_props = {'guard_roles':'Manager',
                       'guard_permissions':'ManagePortal',
                       'guard_expr' :''}
        res = guard.changeFromProperties(guard_props)
        self.assert_(res==1)
        self.assertEqual(guard.getRolesText(), 'Manager')
        self.assertEqual(guard.getPermissionsText(), 'ManagePortal')
        self.assertEqual(guard.getExprText(), '')

        # Change guard
        guard_props = {'guard_roles':'Manager',
                       'guard_permissions':'ManagePortal',
                       'guard_expr' :'python:1'}
        res = guard.changeFromProperties(guard_props)
        self.assert_(res==1)
        self.assertEqual(guard.getRolesText(), 'Manager')
        self.assertEqual(guard.getPermissionsText(), 'ManagePortal')
        self.assertEqual(guard.getExprText(), 'python:1')

        # Change guard
        guard_props = {'guard_roles':'Manager',
                       'guard_permissions':'ManagePortal',
                       'guard_expr' :'string:'}
        res = guard.changeFromProperties(guard_props)
        self.assert_(res==1)
        self.assertEqual(guard.getRolesText(), 'Manager')
        self.assertEqual(guard.getPermissionsText(), 'ManagePortal')
        self.assertEqual(guard.getExprText(), 'string:')

        # Change guard with wrong TALES
        guard_props = {'guard_roles':'Manager',
                       'guard_permissions':'ManagePortal',
                       'guard_expr' :'python:'}
        self.assertRaises(CompilerError,
                          guard.changeFromProperties, guard_props)

        self.assertEqual(guard.getRolesText(), 'Manager')
        self.assertEqual(guard.getPermissionsText(), 'ManagePortal')
        self.assertEqual(guard.getExprText(), 'string:')

        # reinit the guard
        guard_props = {'guard_permissions':'',
                       'guard_roles':'',
                       'guard_expr' :''}
        res = guard.changeFromProperties(guard_props)
        self.assert_(res==0)

        # No API on DCWorkflow guard to reset properly....
        guard.permissions = ''
        guard.roles = ''
        guard.expr = None

        # Test default values
        self.assertEqual(guard.getPermissionsText(), '')
        self.assertEqual(guard.getRolesText(), '')
        self.assertEqual(guard.getExprText(), '')
Ejemplo n.º 3
0
    def test_BaseGuardAPI(self):
        from zope.tales.tales import CompilerError

        #
        # Test guard basic API
        #

        guard = Guard()
        self.assertNotEqual(guard, None)

        # Test default values
        self.assertEqual(guard.getPermissionsText(), '')
        self.assertEqual(guard.getRolesText(), '')
        self.assertEqual(guard.getExprText(), '')

        # Initialize the guard with empty values
        # not initialization
        guard_props = {
            'guard_permissions': '',
            'guard_roles': '',
            'guard_expr': ''
        }
        res = guard.changeFromProperties(guard_props)
        self.assert_(res == 0)

        # Test default values
        self.assertEqual(guard.getPermissionsText(), '')
        self.assertEqual(guard.getRolesText(), '')
        self.assertEqual(guard.getExprText(), '')

        # Change guard
        guard_props = {
            'guard_roles': 'Manager',
            'guard_permissions': '',
            'guard_expr': ''
        }
        res = guard.changeFromProperties(guard_props)
        self.assert_(res == 1)
        self.assertEqual(guard.getRolesText(), 'Manager')
        self.assertEqual(guard.getPermissionsText(), '')
        self.assertEqual(guard.getExprText(), '')

        # Change guard
        guard_props = {
            'guard_roles': 'Manager;',
            'guard_permissions': '',
            'guard_expr': ''
        }
        res = guard.changeFromProperties(guard_props)
        self.assert_(res == 1)
        # With one space after the ';'
        self.assertEqual(guard.getRolesText(), 'Manager; ')
        self.assertEqual(guard.getPermissionsText(), '')
        self.assertEqual(guard.getExprText(), '')

        # Change guard
        guard_props = {
            'guard_roles': 'Manager;Member',
            'guard_permissions': '',
            'guard_expr': ''
        }
        res = guard.changeFromProperties(guard_props)
        self.assert_(res == 1)
        # With one space after the ';'
        self.assertEqual(guard.getRolesText(), 'Manager; Member')
        self.assertEqual(guard.getPermissionsText(), '')
        self.assertEqual(guard.getExprText(), '')

        # Change guard
        guard_props = {
            'guard_roles': 'Manager;Member',
            'guard_permissions': '',
            'guard_expr': ''
        }
        res = guard.changeFromProperties(guard_props)
        self.assert_(res == 1)
        # With one space after the ';'
        self.assertEqual(guard.getRolesText(), 'Manager; Member')
        self.assertEqual(guard.getPermissionsText(), '')
        self.assertEqual(guard.getExprText(), '')

        # Change guard
        guard_props = {
            'guard_roles': 'Manager',
            'guard_permissions': '',
            'guard_expr': ''
        }
        res = guard.changeFromProperties(guard_props)
        self.assert_(res == 1)
        self.assertEqual(guard.getRolesText(), 'Manager')
        self.assertEqual(guard.getPermissionsText(), '')
        self.assertEqual(guard.getExprText(), '')

        # Change guard
        guard_props = {
            'guard_roles': 'Manager',
            'guard_permissions': 'ManagePortal;',
            'guard_expr': ''
        }
        res = guard.changeFromProperties(guard_props)
        self.assert_(res == 1)
        self.assertEqual(guard.getRolesText(), 'Manager')
        self.assertEqual(guard.getPermissionsText(), 'ManagePortal; ')
        self.assertEqual(guard.getExprText(), '')

        # Change guard
        guard_props = {
            'guard_roles': 'Manager',
            'guard_permissions': 'ManagePortal',
            'guard_expr': ''
        }
        res = guard.changeFromProperties(guard_props)
        self.assert_(res == 1)
        self.assertEqual(guard.getRolesText(), 'Manager')
        self.assertEqual(guard.getPermissionsText(), 'ManagePortal')
        self.assertEqual(guard.getExprText(), '')

        # Change guard
        guard_props = {
            'guard_roles': 'Manager',
            'guard_permissions': 'ManagePortal',
            'guard_expr': 'python:1'
        }
        res = guard.changeFromProperties(guard_props)
        self.assert_(res == 1)
        self.assertEqual(guard.getRolesText(), 'Manager')
        self.assertEqual(guard.getPermissionsText(), 'ManagePortal')
        self.assertEqual(guard.getExprText(), 'python:1')

        # Change guard
        guard_props = {
            'guard_roles': 'Manager',
            'guard_permissions': 'ManagePortal',
            'guard_expr': 'string:'
        }
        res = guard.changeFromProperties(guard_props)
        self.assert_(res == 1)
        self.assertEqual(guard.getRolesText(), 'Manager')
        self.assertEqual(guard.getPermissionsText(), 'ManagePortal')
        self.assertEqual(guard.getExprText(), 'string:')

        # Change guard with wrong TALES
        guard_props = {
            'guard_roles': 'Manager',
            'guard_permissions': 'ManagePortal',
            'guard_expr': 'python:'
        }
        self.assertRaises(CompilerError, guard.changeFromProperties,
                          guard_props)

        self.assertEqual(guard.getRolesText(), 'Manager')
        self.assertEqual(guard.getPermissionsText(), 'ManagePortal')
        self.assertEqual(guard.getExprText(), 'string:')

        # reinit the guard
        guard_props = {
            'guard_permissions': '',
            'guard_roles': '',
            'guard_expr': ''
        }
        res = guard.changeFromProperties(guard_props)
        self.assert_(res == 0)

        # No API on DCWorkflow guard to reset properly....
        guard.permissions = ''
        guard.roles = ''
        guard.expr = None

        # Test default values
        self.assertEqual(guard.getPermissionsText(), '')
        self.assertEqual(guard.getRolesText(), '')
        self.assertEqual(guard.getExprText(), '')
Ejemplo n.º 4
0
    def test_BaseGuardAPI(self):

        #
        # Test guard basic API
        #

        guard = Guard()
        self.assertNotEqual(guard, None)

        # Test default values
        self.assertEqual(guard.getPermissionsText(), "")
        self.assertEqual(guard.getRolesText(), "")
        self.assertEqual(guard.getExprText(), "")

        # Initialize the guard with empty values
        # not initialization
        guard_props = {"guard_permissions": "", "guard_roles": "", "guard_expr": ""}
        res = guard.changeFromProperties(guard_props)
        self.assert_(res == 0)

        # Test default values
        self.assertEqual(guard.getPermissionsText(), "")
        self.assertEqual(guard.getRolesText(), "")
        self.assertEqual(guard.getExprText(), "")

        # Change guard
        guard_props = {"guard_roles": "Manager", "guard_permissions": "", "guard_expr": ""}
        res = guard.changeFromProperties(guard_props)
        self.assert_(res == 1)
        self.assertEqual(guard.getRolesText(), "Manager")
        self.assertEqual(guard.getPermissionsText(), "")
        self.assertEqual(guard.getExprText(), "")

        # Change guard
        guard_props = {"guard_roles": "Manager;", "guard_permissions": "", "guard_expr": ""}
        res = guard.changeFromProperties(guard_props)
        self.assert_(res == 1)
        # With one space after the ';'
        self.assertEqual(guard.getRolesText(), "Manager; ")
        self.assertEqual(guard.getPermissionsText(), "")
        self.assertEqual(guard.getExprText(), "")

        # Change guard
        guard_props = {"guard_roles": "Manager;Member", "guard_permissions": "", "guard_expr": ""}
        res = guard.changeFromProperties(guard_props)
        self.assert_(res == 1)
        # With one space after the ';'
        self.assertEqual(guard.getRolesText(), "Manager; Member")
        self.assertEqual(guard.getPermissionsText(), "")
        self.assertEqual(guard.getExprText(), "")

        # Change guard
        guard_props = {"guard_roles": "Manager;Member", "guard_permissions": "", "guard_expr": ""}
        res = guard.changeFromProperties(guard_props)
        self.assert_(res == 1)
        # With one space after the ';'
        self.assertEqual(guard.getRolesText(), "Manager; Member")
        self.assertEqual(guard.getPermissionsText(), "")
        self.assertEqual(guard.getExprText(), "")

        # Change guard
        guard_props = {"guard_roles": "Manager", "guard_permissions": "", "guard_expr": ""}
        res = guard.changeFromProperties(guard_props)
        self.assert_(res == 1)
        self.assertEqual(guard.getRolesText(), "Manager")
        self.assertEqual(guard.getPermissionsText(), "")
        self.assertEqual(guard.getExprText(), "")

        # Change guard
        guard_props = {"guard_roles": "Manager", "guard_permissions": "ManagePortal;", "guard_expr": ""}
        res = guard.changeFromProperties(guard_props)
        self.assert_(res == 1)
        self.assertEqual(guard.getRolesText(), "Manager")
        self.assertEqual(guard.getPermissionsText(), "ManagePortal; ")
        self.assertEqual(guard.getExprText(), "")

        # Change guard
        guard_props = {"guard_roles": "Manager", "guard_permissions": "ManagePortal", "guard_expr": ""}
        res = guard.changeFromProperties(guard_props)
        self.assert_(res == 1)
        self.assertEqual(guard.getRolesText(), "Manager")
        self.assertEqual(guard.getPermissionsText(), "ManagePortal")
        self.assertEqual(guard.getExprText(), "")

        # Change guard
        guard_props = {"guard_roles": "Manager", "guard_permissions": "ManagePortal", "guard_expr": "python:1"}
        res = guard.changeFromProperties(guard_props)
        self.assert_(res == 1)
        self.assertEqual(guard.getRolesText(), "Manager")
        self.assertEqual(guard.getPermissionsText(), "ManagePortal")
        self.assertEqual(guard.getExprText(), "python:1")

        # Change guard
        guard_props = {"guard_roles": "Manager", "guard_permissions": "ManagePortal", "guard_expr": "string:"}
        res = guard.changeFromProperties(guard_props)
        self.assert_(res == 1)
        self.assertEqual(guard.getRolesText(), "Manager")
        self.assertEqual(guard.getPermissionsText(), "ManagePortal")
        self.assertEqual(guard.getExprText(), "string:")

        # Change guard with wrong TALES
        guard_props = {"guard_roles": "Manager", "guard_permissions": "ManagePortal", "guard_expr": "python:"}
        self.assertRaises(CompilerError, guard.changeFromProperties, guard_props)

        self.assertEqual(guard.getRolesText(), "Manager")
        self.assertEqual(guard.getPermissionsText(), "ManagePortal")
        self.assertEqual(guard.getExprText(), "string:")

        # reinit the guard
        guard_props = {"guard_permissions": "", "guard_roles": "", "guard_expr": ""}
        res = guard.changeFromProperties(guard_props)
        self.assert_(res == 0)

        # No API on DCWorkflow guard to reset properly....
        guard.permissions = ""
        guard.roles = ""
        guard.expr = None

        # Test default values
        self.assertEqual(guard.getPermissionsText(), "")
        self.assertEqual(guard.getRolesText(), "")
        self.assertEqual(guard.getExprText(), "")