Adds foreign key to ECU table. Run management command from version 5.9.2 before deploying this to ensure good migration performance.
Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
* chore: Upgrade Python requirements
* fix: pin xmlsec to 1.3.14 version
* fix: pin social-auth-core version
* docs: add the issue to unpin constraints
---------
Co-authored-by: Usama Sadiq <usama7274@gmail.com>
This makes it easier to run matplotlib in codejail, and should prevent a
number of other issues in the future with other packages that need to
create tempfiles.
No change is required for existing codejail installations, but after this
change operators may be able to tighten their apparmor configuration to
prevent write access to global temp or cache dirs.
Manual testing instructions: Create a codejail problem that runs
`import matplotlib` and confirm that it runs without error. (Unit tests
aren't feasible here because this requires a fully configured codejail in
order for the tmp subdirectory to exist.)
Also: Add comment for `OPENBLAS_NUM_THREADS` and numpy support.
Adds group_uuid field to enterprise group membership api payload.
Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
chore: upgrade optimizely-sdk to the latest version
Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
If a course is deleted or unpublished, the CourseEnrollment list serializer was causing a AttributeErrors when called for a learner who had been enrolled in the formerly-existing course.
Why no test? Because cache invalidation is the worst problem. tl;dr I could create a mock response for the `course_overview` property, but if I mocked up a response to the queryset filter in `CourseEnrollmentsApiListView`, I was effectively guessing that my code worked correctly and then creating a mock response that was an assertion of correctness. That would make any mocked test deceptive; it would appear to test behavior but it would actually just test that I had constructed a mock that passed the test.
I wanted to make an actual test for what would happen if a Course was deleted, so I made one character code fix, and then spent two days unsuccessfully attempting to completely clear out the ModuleStore so I could actually test what would happen in this instance.
IMO an actual verification by hand (which I performed, and it works) was the better part of valor.
in short, cache invalidation aaaaaaaaargh.
FIXES: APER-3913
fix ECU table backfill command to also backfill historical table.
Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
Refactors downstream links API to handle multiple filters using a single API. Also adds a new route to return summary of library links for a given course.
Need to test if the upgrade caused issues
Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/repo-tools/upgrade-python-requirements-616aa44`
Co-authored-by: huniafatima-99 <171663979+huniafatima-99@users.noreply.github.com>