fix: use correct full name when emitting COURSE_PASSING_STATUS_UPDATED

This commit fixes the incorrect saving of the user's full name in the
credentials service by modifying how the COURSE_PASSING_STATUS_UPDATED
and CCX_COURSE_PASSING_STATUS_UPDATED events are emitted.

Previously, we had been using Django's standard User.get_full_name()
to fetch the user's full name. However, Open edX uses the convention of
storing the full name in user.profile.name and leaves the User's first
and last name fields blank. (This is to better accommodate the wide
range of international conventions regarding names.)
This commit is contained in:
Ivan Niedielnitsev
2025-11-19 22:24:24 +02:00
committed by GitHub
parent f175bea4db
commit 5df4564173
3 changed files with 5 additions and 5 deletions

View File

@@ -288,7 +288,7 @@ def _emit_course_passing_status_update(user, course_id, is_passing):
pii=UserPersonalData(
username=user.username,
email=user.email,
name=user.get_full_name(),
name=user.get_full_name() or user.profile.name,
),
id=user.id,
is_active=user.is_active,
@@ -309,7 +309,7 @@ def _emit_course_passing_status_update(user, course_id, is_passing):
pii=UserPersonalData(
username=user.username,
email=user.email,
name=user.get_full_name(),
name=user.get_full_name() or user.profile.name,
),
id=user.id,
is_active=user.is_active,

View File

@@ -164,7 +164,7 @@ class CoursePassingStatusEventsTest(SharedModuleStoreTestCase, OpenEdxEventsTest
pii=UserPersonalData(
username=self.user.username,
email=self.user.email,
name=self.user.get_full_name(),
name=self.user.get_full_name() or self.user.profile.name,
),
id=self.user.id,
is_active=self.user.is_active,
@@ -238,7 +238,7 @@ class CCXCoursePassingStatusEventsTest(
pii=UserPersonalData(
username=self.user.username,
email=self.user.email,
name=self.user.get_full_name(),
name=self.user.get_full_name() or self.user.profile.name,
),
id=self.user.id,
is_active=self.user.is_active,

View File

@@ -27,7 +27,7 @@ def _create_user_data(user):
pii=UserPersonalData(
username=user.username,
email=user.email,
name=user.get_full_name()
name=user.get_full_name() or user.profile.name
)
)