def get_user_context_roles(): """Get the list of user's roles (including whether admin or not)--this is the info needed (in addition to the field's modes) to further filter whether a field is visible or not for a given (user, mode). Wraps common.get_context_roles(context), with the following differcnes: - auto retrieves the context, needed param by common.get_context_roles() - handles case when user is not authenticated - handles case for when user is "admin" """ request = common.get_request() if request is None: context = None principal = None else: context = common.get_traversed_context(request) principal = request.principal if IUnauthenticatedPrincipal.providedBy(principal): roles = ["bungeni.Anonymous"] else: roles = common.get_context_roles(context) if common.is_admin(context): roles.append("bungeni.Admin") log.debug(""" [get_user_context_roles] PRINCIPAL: %s CONTEXT: %s ROLES: %s """ % (principal, context, roles)) return roles
def test_context_roles(self, mode): """EXPERIMENTAL sample code to get a user's roles and whether is_admin or not -- this is the info needed (in addition to the field's modes) to further filter whether a field is visible or not for a given (user, mode). """ request = common.get_request() if request is None: context = None principal = None else: context = common.get_traversed_context(request) principal = request.principal if IUnauthenticatedPrincipal.providedBy(principal): roles = None else: roles = common.get_context_roles(context) print """!+ModelDescriptor TEST_CONTEXT_ROLES [%s] PRINCIPAL: %s CONTEXT: %s MODE: %s ROLES: %s IS ADMIN: %s""" % (self, principal, context, mode, roles, common.is_admin(context) )
def test_context_roles(self, mode): """EXPERIMENTAL sample code to get a user's roles and whether is_admin or not -- this is the info needed (in addition to the field's modes) to further filter whether a field is visible or not for a given (user, mode). """ request = common.get_request() if request is None: context = None principal = None else: context = common.get_traversed_context(request) principal = request.principal if IUnauthenticatedPrincipal.providedBy(principal): roles = None else: roles = common.get_context_roles(context) print """!+ModelDescriptor TEST_CONTEXT_ROLES [%s] PRINCIPAL: %s CONTEXT: %s MODE: %s ROLES: %s IS ADMIN: %s""" % (self, principal, context, mode, roles, common.is_admin(context))