Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class CourseCommonSerializerV2(serializers.Serializer):
display_name = serializers.CharField()
lms_link = serializers.SerializerMethodField()
cms_link = serializers.SerializerMethodField()
number = serializers.CharField()
number = serializers.CharField(source='display_number_with_default')

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should not be confusing number and display_number ; they should be put into separate fields.

I believe there is also a display_org, so we should handle that too:

@property
def number(self):
"""
Returns this course's number.
This is a "number" in the sense of the "course numbers" that you see at
lots of universities. For example, given a course
"Intro to Computer Science" with the course key "edX/CS-101/2014", the
course number would be "CS-101"
"""
return course_metadata_utils.number_for_course_location(self.location)
@property
def display_number_with_default(self):
"""
Return a display course number if it has been specified, otherwise return the 'course' that is in the location
"""
if self.display_coursenumber:
return self.display_coursenumber
return self.number
@property
def org(self):
return self.location.org
@property
def display_org_with_default(self):
"""
Return a display organization if it has been specified, otherwise return the 'org' that is in the location
"""
if self.display_organization:
return self.display_organization
return self.org

@jesusbalderramawgu jesusbalderramawgu Jul 7, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @bradenmacdonald, I have updated the PR. Once this is merged I need to update authoring to use display_number if is required because right now always renders the property number.

org = serializers.CharField()
rerun_link = serializers.SerializerMethodField()
run = serializers.CharField(source='id.run')
Expand Down
10 changes: 5 additions & 5 deletions cms/djangoapps/contentstore/rest_api/v2/views/tests/test_home.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ def test_home_page_response(self):
("display_name", self.course.display_name),
("lms_link", f'{settings.LMS_ROOT_URL}/courses/{course_id}/jump_to/{self.course.location}'),
("cms_link", f'//{settings.CMS_BASE}{reverse_course_url("course_handler", self.course.id)}'),
("number", self.course.number),
("number", self.active_course.display_number_with_default),
("org", self.course.org),
("rerun_link", f'/course_rerun/{course_id}'),
("run", self.course.id.run),
Expand All @@ -74,7 +74,7 @@ def test_home_page_response(self):
"cms_link",
f'//{settings.CMS_BASE}{reverse_course_url("course_handler", self.archived_course.id)}',
),
("number", self.archived_course.number),
("number", self.archived_course.display_number_with_default),
("org", self.archived_course.org),
("rerun_link", f'/course_rerun/{str(self.archived_course.id)}'),
("run", self.archived_course.id.run),
Expand Down Expand Up @@ -109,7 +109,7 @@ def test_active_only_query_if_passed(self):
("display_name", self.course.display_name),
("lms_link", f'{settings.LMS_ROOT_URL}/courses/{str(self.course.id)}/jump_to/{self.course.location}'),
("cms_link", f'//{settings.CMS_BASE}{reverse_course_url("course_handler", self.course.id)}'),
("number", self.course.number),
("number", self.active_course.display_number_with_default),
("org", self.course.org),
("rerun_link", f'/course_rerun/{str(self.course.id)}'),
("run", self.course.id.run),
Expand Down Expand Up @@ -139,7 +139,7 @@ def test_archived_only_query_if_passed(self):
),
),
("cms_link", f'//{settings.CMS_BASE}{reverse_course_url("course_handler", self.archived_course.id)}'),
("number", self.archived_course.number),
("number", self.archived_course.display_number_with_default),
("org", self.archived_course.org),
("rerun_link", f'/course_rerun/{str(self.archived_course.id)}'),
("run", self.archived_course.id.run),
Expand Down Expand Up @@ -169,7 +169,7 @@ def test_search_query_if_passed(self):
),
),
("cms_link", f'//{settings.CMS_BASE}{reverse_course_url("course_handler", self.archived_course.id)}'),
("number", self.archived_course.number),
("number", self.archived_course.display_number_with_default),
("org", self.archived_course.org),
("rerun_link", f'/course_rerun/{str(self.archived_course.id)}'),
("run", self.archived_course.id.run),
Expand Down
Loading