Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Create django admin for default enrollments #2264

Merged
merged 5 commits into from
Oct 24, 2024
Merged

Conversation

brobro10000
Copy link
Member

@brobro10000 brobro10000 commented Oct 17, 2024

Adds a TieredCache call to content metadata's, get_content_metadata_content_identifier to determine the content_type of created and updated content. If the content type does not exist, the validation in clean prevents creation of the inline object.

A side effect of including this check is the fleshing out of the current_course_run and current_course_run_key properties on the DefaultEnterpriseEnrollmentIntention model.

Found on the enterprise customer django admin screen, EnterpriseCustomerDefaultEnterpriseEnrollmentIntentionInline
Screenshot 2024-10-21 at 1 50 52 PM

Cleaned up EnterpriseCustomerDefaultEnterpriseEnrollment admin page
Screenshot 2024-10-21 at 1 09 54 PM

Merge checklist:

  • Any new requirements are in the right place (do not manually modify the requirements/*.txt files)
    • 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
  • ./manage.py makemigrations has been run
    • 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.
  • 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.
  • 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)
    • Trigger the 'Upgrade one Python dependency' action against master in edx-platform with new version number to generate version bump PR
    • 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.

@brobro10000 brobro10000 force-pushed the hu/ent-9579 branch 5 times, most recently from f7de046 to f66b0a0 Compare October 17, 2024 17:09
enterprise/cache_utils.py Outdated Show resolved Hide resolved
enterprise/models.py Outdated Show resolved Hide resolved
enterprise/content_metadata/api.py Outdated Show resolved Hide resolved
enterprise/content_metadata/api.py Outdated Show resolved Hide resolved
enterprise/content_metadata/api.py Outdated Show resolved Hide resolved
enterprise/models.py Outdated Show resolved Hide resolved
enterprise/models.py Show resolved Hide resolved
enterprise/models.py Outdated Show resolved Hide resolved
enterprise/models.py Outdated Show resolved Hide resolved
CHANGELOG.rst Show resolved Hide resolved
enterprise/cache_utils.py Outdated Show resolved Hide resolved
enterprise/content_metadata/api.py Outdated Show resolved Hide resolved
enterprise/content_metadata/api.py Outdated Show resolved Hide resolved
enterprise/content_metadata/api.py Outdated Show resolved Hide resolved
enterprise/models.py Outdated Show resolved Hide resolved
enterprise/models.py Outdated Show resolved Hide resolved
@brobro10000 brobro10000 force-pushed the hu/ent-9579 branch 4 times, most recently from b4f6afe to 2e04eab Compare October 21, 2024 17:44
@brobro10000 brobro10000 marked this pull request as ready for review October 21, 2024 17:47
Comment on lines -1335 to -1336
'current_course_run_enrollable',
'current_course_run_enroll_by_date',
Copy link
Member Author

Choose a reason for hiding this comment

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

It was decided for the moment, since the properties on the model are yet to be fleshed out, these fields should be removed.

@brobro10000 brobro10000 force-pushed the hu/ent-9579 branch 3 times, most recently from 7362a67 to 749651f Compare October 22, 2024 03:29
@brobro10000 brobro10000 force-pushed the hu/ent-9579 branch 3 times, most recently from cbc19fc to ee029f7 Compare October 24, 2024 15:12
brobro10000 and others added 4 commits October 24, 2024 15:29
* fix: updates to ENT-9579

* Updates Django Admin fields for models.DefaultEnterpriseEnrollmentIntention
* Ensures DefaultEnterpriseEnrollmentIntentionAdmin uses SoftDeletableModel's all_objects model manager to be able to view/restore soft-deleted instances.
* Adds help text in Django Admin for SoftDeletableModel's is_removed boolean field.
* Alters content_type model field to allow blank/null.
* Adds unique constraint for enterprise_customer and content_key to prevent duplicates.
* Remove `current_*` prefixes on computed properties since a configured content_key might not be the *current* course run.
* Updates models.DefaultEnterpriseEnrollmentIntention `clean` method to check for soft-deleted duplicates to raise ValidationError.
* Ensures `self.content_type` is already updated on save, even if already set (e.g., if content_key changes to a different content type).
* Updates related tests.
@brobro10000 brobro10000 merged commit 3bd4bd6 into master Oct 24, 2024
12 checks passed
@brobro10000 brobro10000 deleted the hu/ent-9579 branch October 24, 2024 15:54
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