fix: v2 endpoint to get courses list correctly like v1#38851
fix: v2 endpoint to get courses list correctly like v1#38851jesusbalderramawgu wants to merge 1 commit into
Conversation
|
Thanks for the pull request, @jesusbalderramawgu! This repository is currently maintained by Once you've gone through the following steps feel free to tag them in a comment and let them know that your changes are ready for engineering review. 🔘 Get product approvalIf you haven't already, check this list to see if your contribution needs to go through the product review process.
🔘 Provide contextTo help your reviewers and other members of the community understand the purpose and larger context of your changes, feel free to add as much of the following information to the PR description as you can:
🔘 Get a green buildIf one or more checks are failing, continue working on your changes until this is no longer the case and your build turns green. 🔘 Update the status of your PRYour PR is currently marked as a draft. After completing the steps above, update its status by clicking "Ready for Review", or removing "WIP" from the title, as appropriate. Where can I find more information?If you'd like to get more details on all aspects of the review process for open source pull requests (OSPRs), check out the following resources: When can I expect my changes to be merged?Our goal is to get community contributions seen and reviewed as efficiently as possible. However, the amount of time that it takes to review and merge a PR can vary significantly based on factors such as:
💡 As a result it may take up to several weeks or months to complete a review and merge your PR. |
Description
In redwood, the studio home shows the “Course number display string” this is what maps to the pams section. This is how most people know and refer to as the course name.


Ulmo (Currently showing Course number)
After some digging I found that now that we use the authoring MFE it hits a v2 endpoint which is different to the legacy Django-rendered Studio Home.
in the version 1 (legacy django view) the serializer just passes those dict keys through, so the response reflects the correct display values.
but in v2 API used by authoring MFE the view HomePageCoursesViewV2 hands raw CourseOverview objects directly to CouseCommonSerializerV2 and the serializer is responsible for pulling the right attribute off each object.
Because the MFE hits the v2 endpoint and the legacy UI hits v1, the bug only manifests in the MFE.
in cms/djangoapps/contentstore/rest_api/v2/serializers/home.py the number field was declared without a source so the DRF resolves the field not in the expected way, in this case the raw course-key segment rather than the configured display number
Testing instructions
with the Course number display string as empty in the advanced settings we should see the course number
adding a value in Course number display string in the advanced settings we should see that value in the studio home

before the fix it was always showing the course number, now it shows the correct value when it's overridden