mirror of
https://github.com/GAM-team/GAM.git
synced 2025-07-10 14:43:34 +00:00
include includeDerivedMembership option for group sync (#1198)
* include includeDerivedMembership option in command gam course xxx sync students|teachers group yyyy I add alternative option group_inde (INclude DErived) * Avoid interference of new includeDerivedMembership taers232c suggestion to avoid unexpected interference
This commit is contained in:
@ -12118,6 +12118,7 @@ def getUsersToModify(entity_type=None,
|
|||||||
checkSuspended=None,
|
checkSuspended=None,
|
||||||
groupUserMembersOnly=True):
|
groupUserMembersOnly=True):
|
||||||
got_uids = False
|
got_uids = False
|
||||||
|
includeDerivedMembership = False
|
||||||
if entity_type is None:
|
if entity_type is None:
|
||||||
entity_type = sys.argv[1].lower()
|
entity_type = sys.argv[1].lower()
|
||||||
if entity is None:
|
if entity is None:
|
||||||
@ -12129,11 +12130,13 @@ def getUsersToModify(entity_type=None,
|
|||||||
]
|
]
|
||||||
elif entity_type == 'users':
|
elif entity_type == 'users':
|
||||||
users = entity.replace(',', ' ').split()
|
users = entity.replace(',', ' ').split()
|
||||||
elif entity_type in ['group', 'group_ns', 'group_susp']:
|
elif entity_type in ['group', 'group_ns', 'group_susp','group_inde']:
|
||||||
if entity_type == 'group_ns':
|
if entity_type == 'group_ns':
|
||||||
checkSuspended = False
|
checkSuspended = False
|
||||||
elif entity_type == 'group_susp':
|
elif entity_type == 'group_susp':
|
||||||
checkSuspended = True
|
checkSuspended = True
|
||||||
|
if entity_type == 'group_inde':
|
||||||
|
includeDerivedMembership = True
|
||||||
got_uids = True
|
got_uids = True
|
||||||
group = entity
|
group = entity
|
||||||
if member_type is None:
|
if member_type is None:
|
||||||
@ -12156,10 +12159,11 @@ def getUsersToModify(entity_type=None,
|
|||||||
page_message=page_message,
|
page_message=page_message,
|
||||||
groupKey=group,
|
groupKey=group,
|
||||||
roles=listRoles,
|
roles=listRoles,
|
||||||
|
includeDerivedMembership=includeDerivedMembership,
|
||||||
fields=listFields)
|
fields=listFields)
|
||||||
users = []
|
users = []
|
||||||
for member in members:
|
for member in members:
|
||||||
if ((not groupUserMembersOnly) or
|
if ((not groupUserMembersOnly and not includeDerivedMembership) or
|
||||||
(member['type'] == 'USER')) and _checkMemberRoleIsSuspended(
|
(member['type'] == 'USER')) and _checkMemberRoleIsSuspended(
|
||||||
member, validRoles, checkSuspended):
|
member, validRoles, checkSuspended):
|
||||||
users.append(member.get('email', member['id']))
|
users.append(member.get('email', member['id']))
|
||||||
|
Reference in New Issue
Block a user