* fix: 🐛 ENT-4525 fix learner portal experience courseEnrollment records are missing
sometimes integrations may create EnterpriseCourseEnrollments but for some reason missing courseEnrollment, in this case we want to just filter out the EnterpriseCourseEnrollments instead of erroring the learner poratl
ENT-4525
* fix: pylint fixes
pylint fixes
This change embraces persistent min-version dependencies, which can
simply be ratcheted up over time, or safely removed in time because IDAs
rarely have a large dependency downgrade.
Some dependencies are already encoded with a min-version constraint, which
makes the previous instructions confusing. There was also a very minor
issue in which the temporary constraint line was adding a spurious
`-c constraints.txt` to the committed changes, even though the constraint
itself was not being committed.
This change inspired by discussion on PR #27506.
Enterprise was still using email_marketing code. This will bump
enterprise to a version that does not any more. And also temporarily
put the email_marketing model back for blue/green deploy sanity.
Upgrade edx-django-utils to bring in the new
code_owner_squad custom attribute for
monitoring purposes. See the edx-django-utils
changelog for details.
ARCHBOM-1551
This djangoapp was designed for talking to sailthru, in a fairly
edx.org-specific way. Nowadays, edx.org doesn't need this code and
if other installations do, it's better off as a more distinct
plugin anyway, rather than direct support in the platform.
I've moved the one signal that was still useful (calling
segment.identify() whenever user fields change) into user_authn.
And I've left the EmailMarketingConfiguration model alone for now,
but will remove that shortly. Nothing uses it as of this commit.
AA-607
DEPR-139
* fix: pin python-slugify<5.0.0
transifex-client requires python-slugify<5.0.0 for Python 2.0 support which conflicts with the latest python-slugify version.
This was to support an experiment in using coverage test contexts to
record what tests ran each line of code (informally known as
who-tests-what, or wtw). It never became operational.
* Deletes custom get_search_results() method, since `enterprise_customer__name` is now a viable search field
* Improves pagination by asking for an estimated row count from Mysql INFORMATION_SCHEMA.TABLES
* Turns 1 + N query into 1 query via proper use of list_select_related
ENT-4384