Add location metadata field for users

This commit is contained in:
Brad Ison 2018-02-02 17:56:50 -05:00
parent cc26eefd2f
commit 3de6b4a646
9 changed files with 68 additions and 10 deletions

View file

@ -135,6 +135,7 @@ def user_view(user, previous_username=None):
'company': user.company,
'family_name': user.family_name,
'given_name': user.given_name,
'location': user.location,
})
analytics_metadata = user_analytics.get_user_analytics_metadata(user)
@ -246,6 +247,10 @@ class User(ApiResource):
'type': 'string',
'description': 'The optional entered company for the user',
},
'location': {
'type': 'string',
'description': 'The optional entered location for the user',
},
},
},
'UserView': {
@ -362,9 +367,15 @@ class User(ApiResource):
model.user.update_email(user, new_email, auto_verify=not features.MAILING)
if features.USER_METADATA:
if 'given_name' in user_data or 'family_name' in user_data or 'company' in user_data:
model.user.update_user_metadata(user, user_data.get('given_name'),
user_data.get('family_name'), user_data.get('company'))
metadata_fields = ('given_name', 'family_name', 'company', 'location')
if any(field in user_data for field in metadata_fields):
model.user.update_user_metadata(user, {
'given_name': user_data.get('given_name'),
'family_name': user_data.get('family_name'),
'company': user_data.get('company'),
'location': user_data.get('location'),
})
ua_mdata_future = user_analytics.change_metadata(
user.email,
user_data.get('given_name'),