def allowedRolesAndUsers(obj): """Return a list of roles and users with View permission. Used to filter out items you're not allowed to see. """ allowed = {} for r in rolesForPermissionOn('View', obj): allowed[r] = 1 # shortcut roles and only index the most basic system role if the object # is viewable by either of those if 'Anonymous' in allowed: return ['Anonymous'] elif 'Authenticated' in allowed: return ['Authenticated'] localroles = {} try: acl_users = getToolByName(obj, 'acl_users', None) if acl_users is not None: localroles = acl_users._getAllLocalRoles(obj) except AttributeError: localroles = _mergedLocalRoles(obj) for user, roles in localroles.items(): for role in roles: if role in allowed: allowed['user:'******'Owner' in allowed: del allowed['Owner'] return list(allowed.keys())
def allowedRolesAndUsers(obj): """Return a list of roles and users with View permission. Used to filter out items you're not allowed to see. """ # 'Access contents information' is the correct permission for # accessing and displaying metadata of an item. # 'View' should be reserved for accessing the item itself. allowed = set(rolesForPermissionOn('Access contents information', obj)) # shortcut roles and only index the most basic system role if the object # is viewable by either of those if 'Anonymous' in allowed: return ['Anonymous'] elif 'Authenticated' in allowed: return ['Authenticated'] localroles = {} try: acl_users = getToolByName(obj, 'acl_users', None) if acl_users is not None: localroles = acl_users._getAllLocalRoles(obj) except AttributeError: localroles = _mergedLocalRoles(obj) for user, roles in localroles.items(): if allowed.intersection(roles): allowed.update(['user:'******'Owner' in allowed: allowed.remove('Owner') return list(allowed)
def allowedRolesAndUsers(obj): """Return a list of roles and users with View permission. Used to filter out items you're not allowed to see. """ allowed = {} for r in rolesForPermissionOn('View', obj): allowed[r] = 1 # shortcut roles and only index the most basic system role if the object # is viewable by either of those if 'Anonymous' in allowed: return ['Anonymous'] elif 'Authenticated' in allowed: return ['Authenticated'] try: acl_users = getToolByName(obj, 'acl_users', None) if acl_users is not None: localroles = acl_users._getAllLocalRoles(obj) except AttributeError: localroles = _mergedLocalRoles(obj) for user, roles in localroles.items(): for role in roles: if role in allowed: allowed['user:'******'Owner' in allowed: del allowed['Owner'] return list(allowed.keys())
def allowedRolesAndUsers(obj, portal, **kwargs): """Return a list of roles and users with View permission. Used by PortalCatalog to filter out items you're not allowed to see. """ allowed = {} for r in rolesForPermissionOn('View', obj): allowed[r] = 1 try: localroles = portal.acl_users._getAllLocalRoles(obj) except AttributeError: localroles = _mergedLocalRoles(obj) for user, roles in localroles.items(): for role in roles: if allowed.has_key(role): allowed['user:'******'Owner'): del allowed['Owner'] return list(allowed.keys())
def SFAllowedRolesAndUsersModify(obj): """Return a list of roles and users with Modify portal content permission. Used by PortalCatalog to filter out items you're not allowed to modify in the calendar. """ allowed = {} for r in rolesForPermissionOn('Modify portal content', obj): allowed[r] = 1 try: acl_users = getToolByName(obj, 'acl_users') localroles = acl_users._getAllLocalRoles(obj) except AttributeError: localroles = _mergedLocalRoles(obj) for user, roles in localroles.items(): for role in roles: if allowed.has_key(role): allowed['user:'******'Owner'): del allowed['Owner'] return list(allowed.keys())
def SFAllowedRolesAndUsersModify(obj): """Return a list of roles and users with Modify portal content permission. Used by PortalCatalog to filter out items you're not allowed to modify in the calendar. """ allowed = {} for r in rolesForPermissionOn('Modify portal content', obj): allowed[r] = 1 try: acl_users = getToolByName(obj, 'acl_users', None) if acl_users is not None: localroles = acl_users._getAllLocalRoles(obj) except AttributeError: localroles = _mergedLocalRoles(obj) for user, roles in localroles.items(): for role in roles: if allowed.has_key(role): allowed['user:'******'Owner'): del allowed['Owner'] return list(allowed.keys())
def get_security(content): """Return a list of roles and users with View permission. Used to filter out items you're not allowed to see. """ allowed = set(rolesForPermissionOn('View', content)) # shortcut roles and only index the most basic system role if the object # is viewable by either of those if 'Anonymous' in allowed: return ['Anonymous'] elif 'Authenticated' in allowed: return ['Authenticated'] try: acl_users = getToolByName(content, 'acl_users', None) if acl_users is not None: local_roles = acl_users._getAllLocalRoles(content) except AttributeError: local_roles = _mergedLocalRoles(content) for user, roles in local_roles.items(): for role in roles: if role in allowed: allowed.add('user:'******'Owner' in allowed: allowed.remove('Owner') return list(allowed)