mirror of
https://github.com/GAM-team/GAM.git
synced 2026-06-28 18:01:36 +00:00
27 lines
900 B
Python
27 lines
900 B
Python
from gam.var import GC_Values, GC_CUSTOMER_ID
|
|
from gam import display
|
|
from gam import gapi
|
|
from gam.gapi import directory as gapi_directory
|
|
|
|
def flatten_privilege_list(privs, parent=None):
|
|
flat_privs = []
|
|
for priv in privs:
|
|
children = []
|
|
if parent:
|
|
priv['parent'] = parent
|
|
if priv.get('childPrivileges'):
|
|
children = flatten_privilege_list(priv['childPrivileges'], parent=priv['privilegeName'])
|
|
priv['children'] = ' '.join([child['privilegeName'] for child in children])
|
|
del(priv['childPrivileges'])
|
|
flat_privs = flat_privs + children
|
|
flat_privs.append(priv)
|
|
return flat_privs
|
|
|
|
|
|
|
|
def print_():
|
|
cd = gapi_directory.build()
|
|
privs = gapi.call(cd.privileges(), 'list',
|
|
customer=GC_Values[GC_CUSTOMER_ID])
|
|
privs = flatten_privilege_list(privs.get('items', []))
|
|
display.print_json(privs) |