Beispiel #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)
Beispiel #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()
Beispiel #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', )
Beispiel #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)
Beispiel #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'))
Beispiel #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'))
Beispiel #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)
Beispiel #8
0
    def _makeOne(self, *args, **kw):
        from Products.CMFDefault.MembershipTool import MembershipTool

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