Merge pull request #26043 from cpennington/user-profile-segment-identify
Call segment.identify with any changed values when user profile field…
This commit is contained in:
@@ -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,
|
||||
)
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -29,7 +29,10 @@ from common.djangoapps.student.models import (
|
||||
get_retired_email_by_email,
|
||||
get_retired_username_by_username
|
||||
)
|
||||
from common.djangoapps.util.model_utils import emit_setting_changed_event, get_changed_fields_dict
|
||||
from common.djangoapps.util.model_utils import (
|
||||
emit_settings_changed_event,
|
||||
get_changed_fields_dict,
|
||||
)
|
||||
|
||||
|
||||
class RetirementStateError(Exception):
|
||||
@@ -118,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
|
||||
|
||||
@@ -131,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)
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user