mirror of
https://github.com/GAM-team/GAM.git
synced 2026-07-04 12:51:36 +00:00
Work around API restriction that roleId and userKey are mutually exclusive (#1406)
This commit is contained in:
@@ -1756,8 +1756,8 @@ def doCreateAdmin():
|
|||||||
def doPrintAdmins():
|
def doPrintAdmins():
|
||||||
cd = buildGAPIObject('directory')
|
cd = buildGAPIObject('directory')
|
||||||
roleId = None
|
roleId = None
|
||||||
userKey = None
|
|
||||||
todrive = False
|
todrive = False
|
||||||
|
kwargs = {}
|
||||||
fields = 'nextPageToken,items(roleAssignmentId,roleId,assignedTo,scopeType,orgUnitId)'
|
fields = 'nextPageToken,items(roleAssignmentId,roleId,assignedTo,scopeType,orgUnitId)'
|
||||||
titles = [
|
titles = [
|
||||||
'roleAssignmentId', 'roleId', 'role', 'assignedTo', 'assignedToUser',
|
'roleAssignmentId', 'roleId', 'role', 'assignedTo', 'assignedToUser',
|
||||||
@@ -1768,7 +1768,7 @@ def doPrintAdmins():
|
|||||||
while i < len(sys.argv):
|
while i < len(sys.argv):
|
||||||
myarg = sys.argv[i].lower()
|
myarg = sys.argv[i].lower()
|
||||||
if myarg == 'user':
|
if myarg == 'user':
|
||||||
userKey = normalizeEmailAddressOrUID(sys.argv[i + 1])
|
kwargs['userKey'] = normalizeEmailAddressOrUID(sys.argv[i + 1])
|
||||||
i += 2
|
i += 2
|
||||||
elif myarg == 'role':
|
elif myarg == 'role':
|
||||||
roleId = getRoleId(sys.argv[i + 1])
|
roleId = getRoleId(sys.argv[i + 1])
|
||||||
@@ -1778,14 +1778,18 @@ def doPrintAdmins():
|
|||||||
i += 1
|
i += 1
|
||||||
else:
|
else:
|
||||||
controlflow.invalid_argument_exit(sys.argv[i], 'gam print admins')
|
controlflow.invalid_argument_exit(sys.argv[i], 'gam print admins')
|
||||||
|
if roleId and not kwargs:
|
||||||
|
kwargs['roleId'] = roleId
|
||||||
|
roleId = None
|
||||||
admins = gapi.get_all_pages(cd.roleAssignments(),
|
admins = gapi.get_all_pages(cd.roleAssignments(),
|
||||||
'list',
|
'list',
|
||||||
'items',
|
'items',
|
||||||
customer=GC_Values[GC_CUSTOMER_ID],
|
customer=GC_Values[GC_CUSTOMER_ID],
|
||||||
userKey=userKey,
|
fields=fields,
|
||||||
roleId=roleId,
|
**kwargs)
|
||||||
fields=fields)
|
|
||||||
for admin in admins:
|
for admin in admins:
|
||||||
|
if roleId and roleId != admin['roleId']:
|
||||||
|
continue
|
||||||
admin_attrib = {}
|
admin_attrib = {}
|
||||||
for key, value in list(admin.items()):
|
for key, value in list(admin.items()):
|
||||||
if key == 'assignedTo':
|
if key == 'assignedTo':
|
||||||
|
|||||||
Reference in New Issue
Block a user