Skip to content

feat: cherry-pick edx-enterprise customizations to Quince [BB-8368] - #13

Merged
0x29a merged 8 commits into
opencraft-release/quince.1from
0x29a/bb8368/port-edx-enterprise-code-drift
Jan 3, 2024
Merged

0x29a merged 8 commits into
opencraft-release/quince.1from
0x29a/bb8368/port-edx-enterprise-code-drift

Conversation

@0x29a

@0x29a 0x29a commented Dec 30, 2023

Copy link
Copy Markdown

Description

This PR is very similar to the previous one: #10.

Differences:

Testing instructions

I'm not providing testing instructions, as there again were many Quince devstack quirks and new edx-enterprise quirks. But, I carefully tested every feature.

0x29a and others added 2 commits December 30, 2023 11:04
Co-authored-by: Maxim Beder <maxim@opencraft.com>

test: EnterpriseCourseEnrollmentFilterBackend

Co-authored-by: Maxim Beder <maxim@opencraft.com>

feat: add additional fields to EnterpriseCourseEnrollmentViewSet

Created new manager and serializer for EnterpriseCourseEnrollment model,
which add additional fields to the model, which allow to reduce the
number of requests to the API by providing the necessary data in the
feilds along side the model.

Use the new manager and serializer in EnterpriseCourseEnrollmentViewSet.

Co-authored-by: Maxim Beder <maxim@opencraft.com>

perf: order enterprise course enrollments by id

perf: strip annotations for paginator's count

perf: use read replica or default
When creating pending enrollments for non-existant users, we also check
to see if the course is "invite_only". If the course is invite only,
then we create corresponding CourseEnrollmentAllowed objects. This fixes
the issue when the enterprise creates pending enrollment, but the user
cannot enroll to the course as platform rejects the enrollment request
due to missing CEA for the user.

(cherry picked from commit 2d8c2d4)
@0x29a 0x29a changed the title feat: cherry-pick edx-enterprise customizations to Palm [BB-8368] feat: cherry-pick edx-enterprise customizations to Quince [BB-8368] Dec 30, 2023
This adds a new attribute `hide_course_price_when_zero` to the
EnterpriseCustomer model, which will hide the pricing information
from the enrollment page when the final price of a premium course
mode is Zero.

fix: removed unused variable from template context

fix: quality issue and add the new attribute to test

fix: update the help text in the db migration

feat: adds final price to logging

fix: change the attribute in the utils test causing test failure

refactor: renamed the migration file

chore: rebase on master and update db migration

fix: remove empty lines causing linting failure

fix: remove the empty line in tests file

-------------------------

Additionally includes this fix:
https://tasks.opencraft.com/browse/BB-7541?focusedCommentId=282910&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-282910
@0x29a
0x29a force-pushed the 0x29a/bb8368/port-edx-enterprise-code-drift branch from 584d619 to 03dfb72 Compare December 30, 2023 16:15
tecoholic and others added 5 commits December 30, 2023 17:40
feat: adds allow invite only enrollment flag

feat: adds allow invite only enrollment flag

feat: create cea only when customer has invite-only enrollments enabled

fix: simplify the cea creation logic, update tests

fix: remove a stray empty line

feat: adds the invite-only flag to customer admin

fix: typo in the fuction docstring

Co-authored-by: Piotr Surowiec <piotr@surowiec.it>

refactor: convert the user consent flow handler method to static

fix: move migrations to avoid conflicts

feat: add typing to the ensure cea utility method

Revert "feat: add typing to the ensure cea utility method"

This reverts commit b6b2f25.

refactor: rename the migration with a custom name instead of the auto one

fix: remove typing that breaks causes import failures

chore: move the DB migration to latest version

-----------------------

Additionally includes this fix:
https://tasks.opencraft.com/browse/BB-7619?focusedCommentId=282911&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-282911
This commit contains renamed migrations that were extracted from other
pull requests. We do this because upstream PRs depend on migrations that
don't exist in v4.6.0

IMPORTANT: if you've previously had `opencraft-release/palm.1`
installed, you'll have to fake `0194_hide_course_price_when_zero` and `0195_allow_enrollment_in_invite_only_courses`
migrations from this commit, as changes are most likely already applied to your DB.

See this and further comments for details: https://tasks.opencraft.com/browse/BB-7619?focusedCommentId=274168&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-274168

Also see the similar commit for nutmeg: 9840c0b

@Agrendalath Agrendalath left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@0x29a, this looks great; thanks for working on it and describing the differences in the PRs description + commit messages!

Just one request: would you like to open a small PR to upstream ff5da2d? It can be a one-liner, as it doesn't need a version bump or anything else.

👍

  • I tested this: read through the diffs, checked them with the previous cherry-pick PR and relevant upstream PRs
  • I read through the code
  • I checked for accessibility issues: n/a
  • Includes documentation: n/a
  • I made sure any change in configuration variables is reflected in the corresponding client's configuration-secure repository: n/a

@0x29a

0x29a commented Jan 3, 2024

Copy link
Copy Markdown
Author

Thank you for the review, @Agrendalath!

Just one request: would you like to open a small PR to upstream ff5da2d? It can be a one-liner, as it doesn't need a version bump or anything else.

Sure, here it is: openedx#1978

@0x29a
0x29a merged commit d1c1995 into opencraft-release/quince.1 Jan 3, 2024
@0x29a
0x29a deleted the 0x29a/bb8368/port-edx-enterprise-code-drift branch January 3, 2024 09:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants