From f42dfe69d24dab5ec138d51c86154e24db78b9a2 Mon Sep 17 00:00:00 2001 From: Calen Pennington Date: Wed, 13 Jan 2021 14:20:47 -0500 Subject: [PATCH] Remove emit_setting_changed_event in favor of emit_settings_changed_event --- common/djangoapps/util/model_utils.py | 16 ---------------- .../core/djangoapps/user_api/accounts/api.py | 13 ++++++++----- openedx/core/djangoapps/user_api/models.py | 19 +++++++++++++------ 3 files changed, 21 insertions(+), 27 deletions(-) diff --git a/common/djangoapps/util/model_utils.py b/common/djangoapps/util/model_utils.py index f97d4f1242..9bcda3f3ef 100644 --- a/common/djangoapps/util/model_utils.py +++ b/common/djangoapps/util/model_utils.py @@ -131,22 +131,6 @@ def truncate_fields(old_value, new_value): return {'old': serialized_old_value, 'new': serialized_new_value, 'truncated': truncated_values} -def emit_setting_changed_event(user, db_table, setting_name, old_value, new_value): - """Emits an event for a change in a setting. - - Args: - user (User): the user that this setting is associated with. - db_table (str): the name of the table that we're modifying. - setting_name (str): the name of the setting being changed. - old_value (object): the value before the change. - new_value (object): the new value being saved. - - Returns: - None - """ - emit_settings_changed_event(user, db_table, {setting_name: (old_value, new_value)}) - - def emit_settings_changed_event(user, db_table, changed_fields: Dict[str, Tuple[Any, Any]]): """Emits an event for a change in a setting. diff --git a/openedx/core/djangoapps/user_api/accounts/api.py b/openedx/core/djangoapps/user_api/accounts/api.py index 276f16e4f2..57f2929024 100644 --- a/openedx/core/djangoapps/user_api/accounts/api.py +++ b/openedx/core/djangoapps/user_api/accounts/api.py @@ -23,7 +23,7 @@ from common.djangoapps.student.models import ( email_exists_or_retired, username_exists_or_retired ) -from common.djangoapps.util.model_utils import emit_setting_changed_event +from common.djangoapps.util.model_utils import emit_settings_changed_event from common.djangoapps.util.password_policy_validators import validate_password from openedx.core.djangoapps.user_api import accounts, errors, helpers @@ -270,12 +270,15 @@ def _update_preferences_if_needed(data, requesting_user, user): def _notify_language_proficiencies_update_if_needed(data, user, user_profile, old_language_proficiencies): if "language_proficiencies" in data: new_language_proficiencies = data["language_proficiencies"] - emit_setting_changed_event( + emit_settings_changed_event( user=user, db_table=user_profile.language_proficiencies.model._meta.db_table, - setting_name="language_proficiencies", - old_value=old_language_proficiencies, - new_value=new_language_proficiencies, + changed_fields={ + "language_proficiencies": ( + old_language_proficiencies, + new_language_proficiencies, + ) + } ) diff --git a/openedx/core/djangoapps/user_api/models.py b/openedx/core/djangoapps/user_api/models.py index 6b2564e6de..ae402f10d4 100644 --- a/openedx/core/djangoapps/user_api/models.py +++ b/openedx/core/djangoapps/user_api/models.py @@ -30,7 +30,7 @@ from common.djangoapps.student.models import ( get_retired_username_by_username ) from common.djangoapps.util.model_utils import ( - emit_setting_changed_event, + emit_settings_changed_event, get_changed_fields_dict, ) @@ -121,9 +121,14 @@ def post_save_callback(sender, **kwargs): """ user_preference = kwargs["instance"] - emit_setting_changed_event( - user_preference.user, sender._meta.db_table, user_preference.key, - user_preference._old_value, user_preference.value # pylint: disable=protected-access + emit_settings_changed_event( + user_preference.user, sender._meta.db_table, + { + user_preference.key: ( + user_preference._old_value, # pylint: disable=protected-access + user_preference.value + ) + } ) user_preference._old_value = None # pylint: disable=protected-access @@ -134,8 +139,10 @@ def post_delete_callback(sender, **kwargs): Event changes to user preferences. """ user_preference = kwargs["instance"] - emit_setting_changed_event( - user_preference.user, sender._meta.db_table, user_preference.key, user_preference.value, None + emit_settings_changed_event( + user_preference.user, sender._meta.db_table, { + user_preference.key: (user_preference.value, None) + } )