From 81884e48d0be4785de127e35ca019b2a048e0b5f Mon Sep 17 00:00:00 2001 From: Jay Lee Date: Thu, 15 Aug 2019 12:00:36 -0400 Subject: [PATCH] Support recovery email/phone for users --- .travis.yml | 2 ++ src/gam.py | 14 +++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 4f600bed..7acd163f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -177,6 +177,8 @@ script: - if [ "$e2e" = true ]; then $gam update group $newgroup add owner $gam_user; fi - if [ "$e2e" = true ]; then $gam update group $newgroup add member $newuser; fi - if [ "$e2e" = true ]; then $gam csv sample.csv gam create user ~~email~~ firstname "Travis Bulk" lastname ~~email~~ travis.jid $jid; fi +- if [ "$e2e" = true ]; then phonenumber="+1$(cat /dev/urandom | tr -dc '0-9' | fold -w 256 | head -n 1 | sed -e 's/^0*//' | head --bytes 10)"; echo "Phone number $phonenumber"; fi +- if [ "$e2e" = true ]; then $gam csv sample.csv gam update user ~~email~~ recoveryphone "$phonenumber" recoveryemail jay0lee@gmail.com; fi - if [ "$e2e" = true ]; then $gam csv sample.csv gam user ~email add license gsuitebusiness; fi - if [ "$e2e" = true ]; then $gam csv sample.csv gam user $gam_user sendemail recipient ~~email~~@pdl.jaylee.us subject "test message $newbase" message "Travis test message"; fi - if [ "$e2e" = true ]; then $gam csv sample.csv gam update group $newgroup add member ~email; fi diff --git a/src/gam.py b/src/gam.py index d3f9e235..734face9 100755 --- a/src/gam.py +++ b/src/gam.py @@ -7571,6 +7571,14 @@ def getUserAttributes(i, cd, updateCmd): keyword['value'] = sys.argv[i] i += 1 appendItemToBodyList(body, 'keywords', keyword) + elif myarg in ['recoveryemail']: + body['recoveryEmail'] = sys.argv[i+1] + i += 2 + elif myarg in ['recoveryphone']: + body['recoveryPhone'] = sys.argv[i+1] + if body['recoveryPhone'][0] != '+': + body['recoveryPhone'] = '+' + body['recoveryPhone'] + i += 2 elif myarg == 'clearschema': if not updateCmd: systemErrorExit(2, '%s is not a valid create user argument.' % sys.argv[i]) @@ -10127,9 +10135,13 @@ def doGetUserInfo(user_email=None): else: print('Last login time: %s' % user['lastLoginTime']) if 'orgUnitPath' in user: - print('Google Org Unit Path: %s\n' % user['orgUnitPath']) + print('Google Org Unit Path: %s' % user['orgUnitPath']) if 'thumbnailPhotoUrl' in user: print('Photo URL: %s\n' % user['thumbnailPhotoUrl']) + if 'recoveryPhone' in user: + print('Recovery Phone: %s' % user['recoveryPhone']) + if 'recoveryEmail' in user: + print('Recovery Email: %s' % user['recoveryEmail']) if 'notes' in user: print('Notes:') notes = user['notes']