Пример #1
0
 def listMembers(self):
     '''Gets the list of all members.
     THIS METHOD MIGHT BE VERY EXPENSIVE ON LARGE USER FOLDERS AND MUST BE USED
     WITH CARE! We plan to restrict its use in the future (ie. force large requests
     to use searchForMembers instead of listMembers, so that it will not be
     possible anymore to have a method returning several hundred of users :)
     '''
     uf = self.acl_users
     if uf.meta_type == 'Group User Folder':
         return [BaseTool.wrapUser(self, x) for x in uf.getPureUsers()]
     else:
         return BaseTool.listMembers(self)
Пример #2
0
    def setUp(self):

        self.site = DummySite('site')
        self.site._setObject('portal_types', DummyTool())
        self.site._setObject('portal_workflow', WorkflowTool())
        self.site._setObject('portal_membership', MembershipTool())
        self.site._setObject('acl_users', DummyUserFolder())

        addWorkflowFactory(DefaultWorkflowDefinition,
                           id='default_workflow', title='default_workflow')

        self._constructDummyWorkflow()
Пример #3
0
    def setUp(self):

        SecurityRequestTest.setUp(self)

        root = self.root
        root._setObject('portal_actions', ActionsTool())
        root._setObject('foo', URLTool())
        root._setObject('portal_membership', MembershipTool())
        root._setObject('portal_types', TypesTool())
        self.tool = root.portal_actions
        self.ut = root.foo
        self.tool.action_providers = ('portal_actions', )
Пример #4
0
    def test_notifyModified(self):
        site = DummySite('site').__of__(self.root)
        acl_users = site._setObject('acl_users', DummyUserFolder())
        site._setObject('portal_membership', MembershipTool())
        newSecurityManager(None, acl_users.user_foo)
        item = self._makeDummyContent('item').__of__(site)
        self.assertEqual(item.listCreators(), ())
        item.setModificationDate(0)
        initial_date = item.ModificationDate()

        item.notifyModified()
        self.assertEqual(item.listCreators(), ('user_foo', ))
        self.assertNotEqual(item.ModificationDate(), initial_date)
Пример #5
0
    def test_creators_methods(self):
        site = DummySite('site').__of__(self.root)
        acl_users = site._setObject('acl_users', DummyUserFolder())
        site._setObject('portal_membership', MembershipTool())
        newSecurityManager(None, acl_users.user_foo)
        item = self._makeDummyContent('item').__of__(site)
        self.assertEqual(item.listCreators(), ())

        item.addCreator()
        self.assertEqual(item.listCreators(), ('user_foo', ))
        newSecurityManager(None, acl_users.user_bar)
        item.addCreator()
        self.assertEqual(item.listCreators(), ('user_foo', 'user_bar'))
        item.addCreator()
        self.assertEqual(item.listCreators(), ('user_foo', 'user_bar'))
        item.addCreator('user_baz')
        self.assertEqual(item.listCreators(),
                         ('user_foo', 'user_bar', 'user_baz'))
Пример #6
0
 def test_creators_upgrade(self):
     site = DummySite('site').__of__(self.root)
     acl_users = site._setObject('acl_users', DummyUserFolder())
     site._setObject('portal_membership', MembershipTool())
     newSecurityManager(None, acl_users.user_foo)
     item = self._makeDummyContent('item').__of__(site)
     item.manage_fixupOwnershipAfterAdd()
     # fake an old object < CMF 1.5 without creators
     delattr(item, 'creators')
     self.assertEqual(item.Creator(), 'user_foo')
     newSecurityManager(None, acl_users.user_bar)
     item.addCreator()
     self.assertEqual(item.Creator(), 'user_foo')
     self.assertEqual(item.listCreators(), ('user_foo', 'user_bar'))
     # or if added directly
     delattr(item, 'creators')
     item.addCreator()
     self.assertEqual(item.Creator(), 'user_foo')
     self.assertEqual(item.listCreators(), ('user_foo', 'user_bar'))
Пример #7
0
    def base_roles(self, check_permission):
        """ Test roles method of OpengeverSharingView class
        """
        # Context
        mock_context = self.mocker.mock(count=False)

        # Request
        request = self.create_dummy()
        mock_request = self.mocker.proxy(request)

        # Membership Tool
        mtool = MembershipTool()
        mock_mtool = self.mocker.proxy(mtool, spec=None, count=False)
        self.expect(
            mock_mtool.checkPermission('Sharing page: Delegate Reader role',
                                       ANY)).result(True)
        self.expect(
            mock_mtool.checkPermission('Sharing page: Delegate roles',
                                       ANY)).result(False)
        self.mock_tool(mock_mtool, 'portal_membership')

        # SharingPageRole Utility 1
        utility1 = self.mocker.mock(count=False)
        self.expect(utility1.required_permission).result(
            'Sharing page: Delegate Reader role')
        self.expect(utility1.title).result('utility_1')

        self.mock_utility(utility1, ISharingPageRole, 'Reader')

        # SharingPageRole Utility 2
        utility2 = self.mocker.mock(count=False)
        self.expect(utility2.required_permission).result(
            'Sharing page: Delegate roles')
        self.expect(utility2.title).result('utility_2')

        self.mock_utility(utility2, ISharingPageRole, 'Administrator')

        self.replay()

        # Sharing view
        sharing = OpengeverSharingView(mock_context, mock_request)

        return sharing.roles(check_permission)
Пример #8
0
    def _makeOne(self, *args, **kw):
        from Products.CMFDefault.MembershipTool import MembershipTool

        return MembershipTool(*args, **kw)
Пример #9
0
 def setUp(self):
     SecurityTest.setUp(self)
     self.site = DummySite('site').__of__(self.root)
     self.site._setObject( 'portal_membership', MembershipTool() )
Пример #10
0
 def setUp(self):
     self.site = DummySite('site')
     self.site._setObject('portal_membership', MembershipTool())
Пример #11
0
 def setUp(self):
     SecurityTest.setUp(self)
     self.site = DummyFolder()
     self.site.id = 'testSite'
     self.mtool = MembershipTool().__of__(self.site)
Пример #12
0
 def setUp(self):
     self.site = DummyFolder()
     self.mtool = MembershipTool().__of__(self.site)