Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
 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)
     )
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
 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))