Example #1
0
File: utils.py Project: hmpf/nav
def find_allowed_vlans_for_user_on_netbox(
        account: profiles.Account,
        netbox: manage.Netbox,
        handler: ManagementHandler = None) -> List[FantasyVlan]:
    """Finds allowed vlans for this user on this netbox"""
    netbox_vlans = find_vlans_on_netbox(netbox, handler=handler)

    if CONFIG.is_vlan_authorization_enabled():
        if is_admin(account):
            allowed_vlans = netbox_vlans
        else:
            all_allowed_vlans = find_allowed_vlans_for_user(account)
            allowed_vlans = intersect(all_allowed_vlans, netbox_vlans)
    else:
        allowed_vlans = netbox_vlans

    return sorted(allowed_vlans, key=attrgetter('vlan'))
Example #2
0
def find_allowed_vlans_for_user_on_netbox(account, netbox, factory=None):
    """Find allowed vlans for this user on this netbox

    ::returns list of Fantasyvlans

    """
    netbox_vlans = find_vlans_on_netbox(netbox, factory=factory)

    if CONFIG.is_vlan_authorization_enabled():
        if is_admin(account):
            allowed_vlans = netbox_vlans
        else:
            all_allowed_vlans = find_allowed_vlans_for_user(account)
            allowed_vlans = intersect(all_allowed_vlans, netbox_vlans)
    else:
        allowed_vlans = netbox_vlans

    return sorted(allowed_vlans, key=attrgetter('vlan'))
Example #3
0
def should_check_access_rights(account):
    """Return boolean indicating that this user is restricted"""
    return (CONFIG.is_vlan_authorization_enabled() and not is_admin(account))