edx-enterprise
edx-enterprise copied to clipboard
feat: handle enrollments for "Invite Only" courses
Description
This PR introduces some improvements to the 'Manage Learners' page of Enterprise Customer admin that will allow enrolling learners into "Invite Only" courses.
Refer #1745 for full details about the issue.
Testing instructions
- Follow the testing instructions in #1745 and reproduce the issue
- Switch to the PR branch
- Try enrolling learners into the course marked as "Invite Only", with the Force Enrollment checkbox checked, this time it should work without throwing an error.
- Test with both a learner who already has a registered account and an email which is not registered in the system to ensure, "enrollment on registration" also works for "Invite Only" courses.
Merge checklist:
- [ ] Any new requirements are in the right place (do not manually modify the
requirements/*.txt
files) - No new requirements added-
base.in
if needed in production but edx-platform doesn't install it -
test-master.in
if edx-platform pins it, with a matching version -
make upgrade && make requirements
have been run to regenerate requirements
-
- [ ]
make static
has been run to update webpack bundling if any static content was updated - Running make static didn't introduce any changes - [ ]
./manage.py makemigrations
has been run - No DB migrations introduced- Checkout the Database Migration Confluence page for helpful tips on creating migrations.
-
Note: This must be run if you modified any models.
- It may or may not make a migration depending on exactly what you modified, but it should still be run.
- This should be run from either a venv with all the lms/edx-enterprise requirements installed or if you checked out edx-enterprise into the src directory used by lms, you can run this command through an lms shell.
- It would be
./manage.py lms makemigrations
in the shell.
- It would be
- [ ] Version bumped
- [ ] Changelog record added
- [ ] Translations updated (see docs/internationalization.rst but also this isn't blocking for merge atm)
Post merge:
- [ ] Tag pushed and a new version released
- Note: Assets will be added automatically. You just need to provide a tag (should match your version number) and title and description.
- [x] After versioned build finishes in GitHub Actions, verify version has been pushed to PyPI
- Each step in the release build has a condition flag that checks if the rest of the steps are done and if so will deploy to PyPi. (so basically once your build finishes, after maybe a minute you should see the new version in PyPi automatically (on refresh))
- [ ] PR created in edx-platform to upgrade dependencies (including edx-enterprise)
- This must be done after the version is visible in PyPi as
make upgrade
in edx-platform will look for the latest version in PyPi. - Note: the edx-enterprise constraint in edx-platform must also be bumped to the latest version in PyPi.
- This must be done after the version is visible in PyPi as