def test_includes_global_roles(self): self.portal.manage_permission(PERMISSION, ['Contributor', 'Reader'], acquire=False) page = create(Builder('page')) self.assertEquals( ['Contributor', 'Reader'], roles_and_users_for_permission(page, PERMISSION))
def test_includes_local_roles(self): self.portal.manage_permission(PERMISSION, [], acquire=False) page = create(Builder('page')) page.manage_permission(PERMISSION, ['Reader']) create(Builder('user').with_roles('Reader', on=page)) self.assertEquals( ['user:john.doe', 'Reader'], roles_and_users_for_permission(page, PERMISSION))
def test_merges_to_authenticated_when_possible(self): # All users have the Authenticated role, therefore we don't need # to resolve roles and users when Authenticated has the permission. self.portal.manage_permission(PERMISSION, ['Authenticated', 'Reader']) page = create(Builder('page')) create(Builder('user').with_roles('Reader', on=page)) self.assertEquals( ['Authenticated'], roles_and_users_for_permission(page, PERMISSION))
def test_respects_block_inheriting_local_roles(self): self.portal.manage_permission(PERMISSION, [], acquire=False) parent = create(Builder('folder')) parent.manage_permission(PERMISSION, ['Reader']) create(Builder('user').with_roles('Reader', on=parent)) child = create(Builder('page').within(parent)) child.__ac_local_roles_block__ = True self.assertEquals( ['Reader'], roles_and_users_for_permission(child, PERMISSION))
def test_supports_groups(self): self.portal.manage_permission(PERMISSION, [], acquire=False) page = create(Builder('page')) page.manage_permission(PERMISSION, ['Reader']) create(Builder('group') .titled('Does') .with_roles('Reader', on=page) .with_members(create(Builder('user')))) self.assertEquals( ['user:does', 'Reader'], roles_and_users_for_permission(page, PERMISSION))
def __init__(self, context, action, actor_userid=None, date=None): self.attrs['allowed_roles_and_users'] = ( roles_and_users_for_permission(context, 'View')) self.attrs['path'] = '/'.join(context.getPhysicalPath()) self.attrs['uuid'] = IUUID(context) self.attrs['portal_type'] = context.portal_type self.attrs['title'] = context.Title() self.attrs['action'] = action self.attrs['actor'] = (actor_userid or getSecurityManager().getUser().getId()) self.attrs['date'] = date or DateTime() self.attrs['timestamp'] = DateTime(self.attrs['date']).millis() notify(ActivityCreatedEvent(context, self))