temp: add some logging around extended profile update functionality
I am trying to persist/save data through an "extended profile field" in Stage but the data isn't saving. I have this working locally with devstack but don't understand why it's not working in Stage. This PR adds some logging so I can do some debugging in Stage and try and pinpoint if/where the issue is occurring.
This commit is contained in:
@@ -602,15 +602,18 @@ class UserProfile(models.Model):
|
||||
return self.__enumerable_to_display(self.GENDER_CHOICES, self.gender)
|
||||
|
||||
def get_meta(self): # pylint: disable=missing-function-docstring
|
||||
log.info(f"[Extended Profile] Retrieving user profile meta data for user {self.user.id}")
|
||||
js_str = self.meta
|
||||
if not js_str:
|
||||
js_str = {}
|
||||
else:
|
||||
js_str = json.loads(self.meta)
|
||||
|
||||
log.info(f"[Extended Profile] Returning user profile meta data for user {self.user.id} with data [{js_str}]")
|
||||
return js_str
|
||||
|
||||
def set_meta(self, meta_json):
|
||||
log.info(f"[Extended Profile] Updating user profile meta data for user {self.user.id} with: [{meta_json}]")
|
||||
self.meta = json.dumps(meta_json)
|
||||
|
||||
def set_login_session(self, session_id=None):
|
||||
|
||||
@@ -5,6 +5,7 @@ Programmatic integration point for User API Accounts sub-application
|
||||
|
||||
|
||||
import datetime
|
||||
import logging
|
||||
import re
|
||||
|
||||
from django.conf import settings
|
||||
@@ -48,6 +49,7 @@ if name_affirmation_installed:
|
||||
|
||||
# Public access point for this function.
|
||||
visible_fields = _visible_fields
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@helpers.intercept_errors(errors.UserAPIInternalError, ignore_errors=[errors.UserAPIRequestError])
|
||||
@@ -337,13 +339,21 @@ def _notify_language_proficiencies_update_if_needed(data, user, user_profile, ol
|
||||
|
||||
def _update_extended_profile_if_needed(data, user_profile):
|
||||
if 'extended_profile' in data:
|
||||
log.info(f"[Extended Profile] Extended profile data update requested for user {user_profile.user.id}")
|
||||
meta = user_profile.get_meta()
|
||||
new_extended_profile = data['extended_profile']
|
||||
for field in new_extended_profile:
|
||||
field_name = field['field_name']
|
||||
new_value = field['field_value']
|
||||
log.info(f"[Extended Profile] Extended profile data field: [{field_name}]")
|
||||
log.info(f"[Extended Profile] Extended profile data value: [{new_value}]")
|
||||
meta[field_name] = new_value
|
||||
|
||||
user_profile.set_meta(meta)
|
||||
log.info(
|
||||
"[Extended Profile] Saving user profile after extended profile data update for user "
|
||||
f"{user_profile.user.id}"
|
||||
)
|
||||
user_profile.save()
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user