mirror of
https://github.com/GAM-team/GAM.git
synced 2026-06-03 22:01:39 +00:00
Update guest user support #1874
This commit is contained in:
@@ -916,6 +916,8 @@ Specify a collection of Users by directly specifying them or by specifying items
|
||||
|
||||
<UserTypeEntity> ::=
|
||||
(all users|users_na|users_arch|users_ns|users_susp|users_arch_or_susp|users_na_ns|users_ns_susp)|
|
||||
(all guests|guests_ns|guests_susp|guests_ns_susp)|
|
||||
(all users_and_guests|users_and_guests_ns|users_and_guests_susp|users_and_guests_ns_susp)|
|
||||
(user <UserItem>)|
|
||||
(users <UserList>)|
|
||||
(oauthuser)
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
7.43.00
|
||||
|
||||
Updated `gam info user` to display guest user attributes: `isGuestUser, guestAccountInfo`
|
||||
|
||||
Expanded `<UserTypeEntity>` to allow specification of guest users.
|
||||
* See [Collections of Users](Collections-of-Users)
|
||||
|
||||
7.42.00
|
||||
|
||||
In versions prior to 7.42.00, when `redirect csv <FileName>` was used, GAM did not open and write `<FileName>`
|
||||
|
||||
@@ -25,7 +25,7 @@ https://github.com/GAM-team/GAM/wiki
|
||||
"""
|
||||
|
||||
__author__ = 'GAM Team <google-apps-manager@googlegroups.com>'
|
||||
__version__ = '7.42.00'
|
||||
__version__ = '7.43.00'
|
||||
__license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
|
||||
|
||||
# pylint: disable=wrong-import-position
|
||||
@@ -46929,10 +46929,15 @@ USER_NAME_PROPERTY_PRINT_ORDER = [
|
||||
'fullName',
|
||||
'displayName',
|
||||
]
|
||||
USER_GUEST_PROPERTY_PRINT_ORDER = [
|
||||
'primaryGuestEmail',
|
||||
]
|
||||
USER_LANGUAGE_PROPERTY_PRINT_ORDER = [
|
||||
'languages',
|
||||
]
|
||||
USER_SCALAR_PROPERTY_PRINT_ORDER = [
|
||||
'isGuestUser',
|
||||
'guestAccountInfo',
|
||||
'isAdmin',
|
||||
'isDelegatedAdmin',
|
||||
'isEnrolledIn2Sv',
|
||||
@@ -47050,7 +47055,7 @@ USER_FIELDS_CHOICE_MAP = {
|
||||
'gal': 'includeInGlobalAddressList',
|
||||
'gender': ['gender.type', 'gender.customGender', 'gender.addressMeAs'],
|
||||
'givenname': 'name.givenName',
|
||||
'guestaccountinfo': 'guestAccountInfo',
|
||||
'guestaccountinfo': ['guestAccountInfo.primaryGuestEmail'],
|
||||
'id': 'id',
|
||||
'im': 'ims',
|
||||
'ims': 'ims',
|
||||
@@ -47368,17 +47373,23 @@ def infoUsers(entityList):
|
||||
Ind.Increment()
|
||||
printKeyValueList(['Settings', None])
|
||||
Ind.Increment()
|
||||
if 'name' in user:
|
||||
for up in USER_NAME_PROPERTY_PRINT_ORDER:
|
||||
if up in user['name']:
|
||||
printKeyValueList([UProp.PROPERTIES[up][UProp.TITLE], user['name'][up]])
|
||||
up = 'name'
|
||||
if up in user:
|
||||
for nup in USER_NAME_PROPERTY_PRINT_ORDER:
|
||||
if nup in user[up]:
|
||||
printKeyValueList([UProp.PROPERTIES[nup][UProp.TITLE], user[up][nup]])
|
||||
up = 'languages'
|
||||
if up in user:
|
||||
printKeyValueList([UProp.PROPERTIES[up][UProp.TITLE], _formatLanguagesList(user[up], ',')])
|
||||
for up in USER_SCALAR_PROPERTY_PRINT_ORDER:
|
||||
if up in user:
|
||||
if up not in USER_TIME_OBJECTS:
|
||||
printKeyValueList([UProp.PROPERTIES[up][UProp.TITLE], user[up]])
|
||||
if up != 'guestAccountInfo':
|
||||
printKeyValueList([UProp.PROPERTIES[up][UProp.TITLE], user[up]])
|
||||
else:
|
||||
for gup in USER_GUEST_PROPERTY_PRINT_ORDER:
|
||||
if gup in user[up]:
|
||||
printKeyValueList([UProp.PROPERTIES[gup][UProp.TITLE], user[up][gup]])
|
||||
else:
|
||||
printKeyValueList([UProp.PROPERTIES[up][UProp.TITLE], formatLocalTime(user[up])])
|
||||
Ind.Decrement()
|
||||
|
||||
@@ -114,6 +114,14 @@ class GamCLArgs():
|
||||
ENTITY_USERS_NA_NS = 'users_na_ns'
|
||||
ENTITY_USERS_ARCH_OR_SUSP = 'users_arch_or_susp'
|
||||
ENTITY_USERS_NS_SUSP = 'users_ns_susp'
|
||||
ENTITY_USERS_AND_GUESTS = 'users_and_guests'
|
||||
ENTITY_USERS_AND_GUESTS_NS = 'users_and_guests_ns'
|
||||
ENTITY_USERS_AND_GUESTS_SUSP = 'users_and_guests_susp'
|
||||
ENTITY_USERS_AND_GUESTS_NS_SUSP = 'users_and_guests_ns_susp'
|
||||
ENTITY_GUESTS = 'guests'
|
||||
ENTITY_GUESTS_NS = 'guests_ns'
|
||||
ENTITY_GUESTS_SUSP = 'guests_susp'
|
||||
ENTITY_GUESTS_NS_SUSP = 'guests_ns_susp'
|
||||
#
|
||||
BROWSER_ENTITIES = [
|
||||
ENTITY_BROWSER,
|
||||
@@ -398,6 +406,14 @@ class GamCLArgs():
|
||||
ENTITY_USERS_ARCH_OR_SUSP,
|
||||
ENTITY_USERS_NA_NS,
|
||||
ENTITY_USERS_NS_SUSP,
|
||||
ENTITY_USERS_AND_GUESTS,
|
||||
ENTITY_USERS_AND_GUESTS_NS,
|
||||
ENTITY_USERS_AND_GUESTS_SUSP,
|
||||
ENTITY_USERS_AND_GUESTS_NS_SUSP,
|
||||
ENTITY_GUESTS,
|
||||
ENTITY_GUESTS_NS,
|
||||
ENTITY_GUESTS_SUSP,
|
||||
ENTITY_GUESTS_NS_SUSP,
|
||||
]
|
||||
#
|
||||
ENTITY_ALL_CROS = ENTITY_SELECTOR_ALL+' '+ENTITY_CROS
|
||||
@@ -409,6 +425,14 @@ class GamCLArgs():
|
||||
ENTITY_ALL_USERS_NA_NS = ENTITY_SELECTOR_ALL+' '+ENTITY_USERS_NA_NS
|
||||
ENTITY_ALL_USERS_ARCH_OR_SUSP = ENTITY_SELECTOR_ALL+' '+ENTITY_USERS_ARCH_OR_SUSP
|
||||
ENTITY_ALL_USERS_NS_SUSP = ENTITY_SELECTOR_ALL+' '+ENTITY_USERS_NS_SUSP
|
||||
ENTITY_ALL_USERS_AND_GUESTS = ENTITY_SELECTOR_ALL+' '+ENTITY_USERS_AND_GUESTS
|
||||
ENTITY_ALL_USERS_AND_GUESTS_NS = ENTITY_SELECTOR_ALL+' '+ENTITY_USERS_AND_GUESTS_NS
|
||||
ENTITY_ALL_USERS_AND_GUESTS_SUSP = ENTITY_SELECTOR_ALL+' '+ENTITY_USERS_AND_GUESTS_SUSP
|
||||
ENTITY_ALL_USERS_AND_GUESTS_NS_SUSP = ENTITY_SELECTOR_ALL+' '+ENTITY_USERS_AND_GUESTS_NS_SUSP
|
||||
ENTITY_ALL_GUESTS = ENTITY_SELECTOR_ALL+' '+ENTITY_GUESTS
|
||||
ENTITY_ALL_GUESTS_NS = ENTITY_SELECTOR_ALL+' '+ENTITY_GUESTS_NS
|
||||
ENTITY_ALL_GUESTS_SUSP = ENTITY_SELECTOR_ALL+' '+ENTITY_GUESTS_SUSP
|
||||
ENTITY_ALL_GUESTS_NS_SUSP = ENTITY_SELECTOR_ALL+' '+ENTITY_GUESTS_NS_SUSP
|
||||
#
|
||||
ALL_USER_ENTITY_TYPES = {
|
||||
ENTITY_ALL_USERS,
|
||||
@@ -418,6 +442,14 @@ class GamCLArgs():
|
||||
ENTITY_ALL_USERS_SUSP,
|
||||
ENTITY_ALL_USERS_NA_NS,
|
||||
ENTITY_ALL_USERS_NS_SUSP,
|
||||
ENTITY_ALL_USERS_AND_GUESTS,
|
||||
ENTITY_ALL_USERS_AND_GUESTS_NS,
|
||||
ENTITY_ALL_USERS_AND_GUESTS_SUSP,
|
||||
ENTITY_ALL_USERS_AND_GUESTS_NS_SUSP,
|
||||
ENTITY_ALL_GUESTS,
|
||||
ENTITY_ALL_GUESTS_NS,
|
||||
ENTITY_ALL_GUESTS_SUSP,
|
||||
ENTITY_ALL_GUESTS_NS_SUSP,
|
||||
}
|
||||
DOMAIN_ENTITY_TYPES = {
|
||||
ENTITY_DOMAINS,
|
||||
@@ -534,13 +566,21 @@ class GamCLArgs():
|
||||
}
|
||||
#
|
||||
ALL_USERS_QUERY_MAP = {
|
||||
ENTITY_ALL_USERS: 'isSuspended=False',
|
||||
ENTITY_ALL_USERS_NA: 'isArchived=False',
|
||||
ENTITY_ALL_USERS_ARCH: 'isArchived=True',
|
||||
ENTITY_ALL_USERS_NS: 'isSuspended=False',
|
||||
ENTITY_ALL_USERS_SUSP: 'isSuspended=True',
|
||||
ENTITY_ALL_USERS_NA_NS: 'isArchived=False isSuspended=False',
|
||||
ENTITY_ALL_USERS_NS_SUSP: None,
|
||||
ENTITY_ALL_USERS: 'isSuspended=False isGuest=False',
|
||||
ENTITY_ALL_USERS_NA: 'isArchived=False isGuest=False',
|
||||
ENTITY_ALL_USERS_ARCH: 'isArchived=True isGuest=False',
|
||||
ENTITY_ALL_USERS_NS: 'isSuspended=False isGuest=False',
|
||||
ENTITY_ALL_USERS_SUSP: 'isSuspended=True isGuest=False',
|
||||
ENTITY_ALL_USERS_NA_NS: 'isArchived=False isSuspended=False isGuest=False',
|
||||
ENTITY_ALL_USERS_NS_SUSP: 'isGuest=False',
|
||||
ENTITY_ALL_USERS_AND_GUESTS: 'isSuspended=False',
|
||||
ENTITY_ALL_USERS_AND_GUESTS_NS: 'isSuspended=False',
|
||||
ENTITY_ALL_USERS_AND_GUESTS_SUSP: 'isSuspended=True',
|
||||
ENTITY_ALL_USERS_AND_GUESTS_NS_SUSP: None,
|
||||
ENTITY_ALL_GUESTS: 'isSuspended=False isGuest=True',
|
||||
ENTITY_ALL_GUESTS_NS: 'isSuspended=False isGuest=True',
|
||||
ENTITY_ALL_GUESTS_SUSP: 'isSuspended=True isGuest=True',
|
||||
ENTITY_ALL_GUESTS_NS_SUSP: 'isGuest=True',
|
||||
}
|
||||
DOMAINS_QUERY_MAP = {
|
||||
ENTITY_DOMAINS: None,
|
||||
@@ -602,6 +642,14 @@ class GamCLArgs():
|
||||
ENTITY_USERS_NA_NS: ENTITY_ALL_USERS_NA_NS,
|
||||
ENTITY_USERS_ARCH_OR_SUSP: ENTITY_ALL_USERS_ARCH_OR_SUSP,
|
||||
ENTITY_USERS_NS_SUSP: ENTITY_ALL_USERS_NS_SUSP,
|
||||
ENTITY_USERS_AND_GUESTS: ENTITY_ALL_USERS_AND_GUESTS,
|
||||
ENTITY_USERS_AND_GUESTS_NS: ENTITY_ALL_USERS_AND_GUESTS_NS,
|
||||
ENTITY_USERS_AND_GUESTS_SUSP: ENTITY_ALL_USERS_AND_GUESTS_SUSP,
|
||||
ENTITY_USERS_AND_GUESTS_NS_SUSP: ENTITY_ALL_USERS_AND_GUESTS_NS_SUSP,
|
||||
ENTITY_GUESTS: ENTITY_ALL_GUESTS,
|
||||
ENTITY_GUESTS_NS: ENTITY_ALL_GUESTS_NS,
|
||||
ENTITY_GUESTS_SUSP: ENTITY_ALL_GUESTS_SUSP,
|
||||
ENTITY_GUESTS_NS_SUSP: ENTITY_ALL_GUESTS_NS_SUSP,
|
||||
}
|
||||
# Allowed values for CL source selector datafile, csvkmd
|
||||
CROS_ENTITY_SELECTOR_DATAFILE_CSVKMD_SUBTYPES = [
|
||||
|
||||
@@ -117,6 +117,8 @@ PROPERTIES = {
|
||||
{CLASS: PC_STRING, TITLE: 'Full Name',},
|
||||
'displayName':
|
||||
{CLASS: PC_STRING, TITLE: 'Display Name',},
|
||||
'primaryGuestEmail':
|
||||
{CLASS: PC_STRING, TITLE: 'Primary Guest Email',},
|
||||
'languages':
|
||||
{CLASS: PC_LANGUAGES, TITLE: 'Languages',},
|
||||
'languageCode':
|
||||
@@ -131,6 +133,8 @@ PROPERTIES = {
|
||||
{CLASS: PC_BOOLEAN, TITLE: 'Is a Super Admin',},
|
||||
'isDelegatedAdmin':
|
||||
{CLASS: PC_BOOLEAN, TITLE: 'Is Delegated Admin',},
|
||||
'isGuestUser':
|
||||
{CLASS: PC_BOOLEAN, TITLE: 'Is a Guest User',},
|
||||
'isEnrolledIn2Sv':
|
||||
{CLASS: PC_BOOLEAN, TITLE: '2-step enrolled',},
|
||||
'isEnforcedIn2Sv':
|
||||
|
||||
Reference in New Issue
Block a user