Example #1
0
def get_permissions_forms(role, data=None):
    """
    Utility function for building forms in admin
    """
    role_permissions = role.permissions

    forms = []
    for extension, module in providers.list():
        try:
            module.change_permissions_form
        except AttributeError:
            message = "'%s' object has no attribute '%s'"
            raise AttributeError(message %
                                 (extension, 'change_permissions_form'))

        FormType = module.change_permissions_form(role)

        if FormType:
            if data:
                forms.append(FormType(data, prefix=extension))
            else:
                forms.append(
                    FormType(initial=role_permissions.get(extension),
                             prefix=extension))

    return forms
Example #2
0
def get_permissions_forms(role, data=None):
    """
    Utility function for building forms in admin
    """
    role_permissions = role.permissions

    forms = []
    for extension, module in providers.list():
        try:
            module.change_permissions_form
        except AttributeError:
            message = "'%s' object has no attribute '%s'"
            raise AttributeError(
                message % (extension, 'change_permissions_form'))

        FormType = module.change_permissions_form(role)

        if FormType:
            if data:
                forms.append(FormType(data, prefix=extension))
            else:
                forms.append(FormType(initial=role_permissions.get(extension),
                                      prefix=extension))

    return forms
Example #3
0
def build_acl(roles):
    """
    Build ACL for given roles
    """
    acl = {}

    for extension, module in providers.list():
        acl = module.build_acl(acl, roles, extension)
Example #4
0
def build_acl(roles):
    """
    Build ACL for given roles
    """
    acl = {}

    for extension, module in providers.list():
        acl = module.build_acl(acl, roles, extension)

    return acl
Example #5
0
def _add_acl_to_target(user, target):
    """
    Add valid ACL to single target, helper for add_acl function
    """
    if isinstance(target, get_user_model()):
        target.acl_ = {}
    else:
        target.acl = {}

    for extension, module in providers.list():
        if hasattr(module, 'add_acl_to_target'):
            module.add_acl_to_target(user, target)
Example #6
0
def _add_acl_to_target(user, target):
    """
    Add valid ACL to single target, helper for add_acl function
    """
    if isinstance(target, get_user_model()):
        target.acl_ = {}
    else:
        target.acl = {}

    for extension, module in providers.list():
        if hasattr(module, 'add_acl_to_target'):
            module.add_acl_to_target(user, target)
Example #7
0
def build_acl(roles):
    """
    Build ACL for given roles
    """
    acl = {}

    for extension, module in providers.list():
        try:
            acl = module.build_acl(acl, roles, extension)
        except AttributeError:
            message = '%s has to define build_acl function' % extension
            raise AttributeError(message)

    return acl