fix: use single constant for course mode priority; only fetch catalog list with resolved course run #2298
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
honor
seat was not enrollable via the LMS bulk enrollment API when realizing default enterprise enrollment intentions. It was determined that this was due to relying on a constantBEST_MODE_ORDER
that didn't include audit/honor seat modes; as such, when trying to enroll in thishonor
-only course run, it was falling back to attempt to enroll in a non-existentaudit
seat, resulting in a 409 on the LMS bulk enrollment API. This PR removesBEST_MODE_ORDER
to singularly rely on the existingCOURSE_MODE_SORT_ORDER
instead, which includeshonor
./enterprise/api/v1/default-enterprise-enrollment-intentions/learner-status/
LMS API locally with a default enrollment intention configured for course with a non-existent advertised course run, theDefaultEnterpriseEnrollmentIntention
model continues to attempt to callcontains_content_items
to retrieve a list of applicable catalog UUIDs associated with a resolved course run. However, if a course run cannot be resolved, we shouldn't be making the call to enterprise-catalog, and simply fallback to an empty list in the model'sapplicable_enterprise_catalog_uuids
property.Merge checklist:
requirements/*.txt
files)base.in
if needed in production but edx-platform doesn't install ittest-master.in
if edx-platform pins it, with a matching versionmake upgrade && make requirements
have been run to regenerate requirementsmake static
has been run to update webpack bundling if any static content was updated./manage.py makemigrations
has been run./manage.py lms makemigrations
in the shell.Post merge:
(so basically once your build finishes, after maybe a minute you should see the new version in PyPi automatically (on refresh))
make upgrade
in edx-platform will look for the latest version in PyPi.