* Install `organizations` app into LMS and Studio non-optionally.
* Add toggle `ORGANIZATIONS_AUTOCREATE` to Studio.
* Remove the `FEATURES["ORGANIZATIONS_APP"]` toggle.
* Use the new `organizations.api.ensure_organization` function to
either validate or get-or-create organizations, depending
on the value of `ORGANIZATIONS_AUTOCREATE`,
when creating course runs and V2 content libraries.
We'll soon use it for V1 content libraries as well.
* Remove the `util.organizations_helpers` wrapper layer
that had to exist because `organizations` was an optional app.
* Add `.get_library_keys()` method to the Split modulestore.
* Add Studio management command for backfilling organizations tables
(`backfill_orgs_and_org_courses`).
For full details, see
https://github.com/edx/edx-organizations/blob/master/docs/decisions/0001-phase-in-db-backed-organizations-to-all.rst
TNL-7646
* Generate common/djangoapps import shims for LMS
* Generate common/djangoapps import shims for Studio
* Stop appending project root to sys.path
* Stop appending common/djangoapps to sys.path
* Import from common.djangoapps.course_action_state instead of course_action_state
* Import from common.djangoapps.course_modes instead of course_modes
* Import from common.djangoapps.database_fixups instead of database_fixups
* Import from common.djangoapps.edxmako instead of edxmako
* Import from common.djangoapps.entitlements instead of entitlements
* Import from common.djangoapps.pipline_mako instead of pipeline_mako
* Import from common.djangoapps.static_replace instead of static_replace
* Import from common.djangoapps.student instead of student
* Import from common.djangoapps.terrain instead of terrain
* Import from common.djangoapps.third_party_auth instead of third_party_auth
* Import from common.djangoapps.track instead of track
* Import from common.djangoapps.util instead of util
* Import from common.djangoapps.xblock_django instead of xblock_django
* Add empty common/djangoapps/__init__.py to fix pytest collection
* Fix pylint formatting violations
* Exclude import_shims/ directory tree from linting
OeX_ES-44: Update edx-search elasticsearch.
* removes redundant doc_types from the lms/cms, replaces courseware
index with doc_types to two indices
* code polishing
* Use a new config variable for ES7 deployment. (#2226)
Co-authored-by: Golub-Sergey <1.golub.sergey.1@gmail.com>
Co-authored-by: Diana Huang <diana.k.huang@gmail.com>
Search indexing is prohibitively slow for large CCX courses, even
taking hours in the case of some particularly large ones with
thousands of blocks. Temporarily disabling this functionality until
it can be made more performant (PSRE-288), so that we're not
blocking the workers from doing more latency-sensitive work.
There is a separate effort to put search indexing in its own set
of workers.
* remove waffle flag for proctoring providers
removed waffle flag
removed tests
updates for requested changes
corrected mistake
Add edX Django Rest Framework Extensions CSRF App URLS to Studio
MST-334 Make sure the CSRF hooks are in INSTALLED_APPS on Studio (#24607)
ENT-2894: Use new welcome template when redirected from enterprise proxy login view (#24587)
* using new welcome template when redirected from enterprise proxy login view
* enabling safe redirects to enterprise learner portal from login in devstack
* ading admin portal to login redirect whitelist
* running make upgrade to version bump edx-enterprise
fix(i18n): update translations
Updating Python Requirements
[REV-1257] Add upsell tracking for upgrading all programs button on program dashboard (#24589)
Added upsell tracking to the course upgrade all button on the program dashboard so we have a better understanding of when users are clicking our upsell links.
POST proctored exam settings (#24597)
allow blank escalation email (#24613)
[BD-10] Remove _uses_pattern_library property from EdxFragmentViews (#24536)
[BD-10] remove edx-pattern-library from JS bundles (#24165)
Co-authored-by: Sankar Raj <sankar.raj@crystaldelta.com>
Make the ExperimentWaffleFlag respect course masquerading when checking if it's active for a specific enrollment
[REV-1205] Add doc location comment so future devs can easily find it (#24615)
AA-204: passing correct section information to frontend to complete outline portion of tab
AA-204: adding tests
AA-204: fixed up documentation and tests
[BD-10] Remove uses bootstrap method (#24535)
Remove pattern library of certificate styles.
update search description on new search string (#24619)
* update search description on new search string
* disable xss-lint rule for jquery.html
make comment more general, to allow for future changes (#24618)
[BD-10] [DEPR-92] Remove pattern library of pavelib folder (#24591)
[BD-10] [DEPR-92] Remove directories that includes pattern-library. (#24602)
Add SSO Records endpoint for support tools
Bucket users regardless of enrollment in courseware MFE experiment
Updating Python Requirements
Change the default value of allow_proctoring_opt_out (#24626)
MST-333
ENT-3143: display message banner guiding user to their enterprise LP if enabled (#24625)
* display message banner guiding user to their enterprise LP if enabled
* adding new sass class name to use same styling as recovery email alert
Add "Source from library" XBlock
This lets the user import a block from a blockstore-based content library into a (modulestore based) course, by copying the block into the course.
Revert "[BD-10] [DEPR-92] Remove pattern library of certificate styles." (#24633)
Revert "[BD-10] [DEPR-92] Remove directories that includes pattern-library. (#24602)"
This reverts commit e4f28debb7.
Revert "[BD-10] [DEPR-92] Remove pattern library of pavelib folder (#24591)" (#24635)
This reverts commit 6980291d96.
allow plus or minus one (#24637)
geoip2: update maxmind geolite country database
fix keyerror with request.session (#24642)
* fix keyerror with request.session
* improve the conditional
AA-127: Created MFE Outline Tab Waffle Flag
Note: The team settled on raising a 404 when the waffle flag is disabled.
Upon receiving the 404, the frontend will redirect to the LMS.
Fixes session caching for enterprise portal links by only caching for auth'd learners
BUG: fixes for saml provider config/data lookup
Fix xss in edit member template
Fix xss while rendering file-upload
Fix xss in date
Fix xss in base site template
* revert
* removed from test_views
This completes the work started in https://github.com/edx/edx-platform/pull/19453
to use the LMS login and registration for Studio, rather than Studio
providing its own implementation.
LMS login/registration are being used for the following reasons:
1. LMS logistration properly handles all SSO integrations.
2. A single logistration is simpler to maintain and understand.
3. Allows Studio to work more like all other IDAs that use LMS
logistration.
The original switch to use LMS logistration for Studio also added the
toggle `DISABLE_STUDIO_SSO_OVER_LMS` to provide the community some
additional time for switching. This commit removes this toggle, which
at this point means all deployments will use the LMS logistration.
This change requires sharing cookies across LMS and Studio. Should that
prove to be a problem for certain Open edX instances, there are
discussions of possible alternative solutions.
See https://github.com/edx/edx-platform/pull/19845#issuecomment-559154256
Detailed changes:
* Fix some Studio links that still went to old Studio signin and signup.
* Remove DISABLE_STUDIO_SSO_OVER_LMS feature toggle.
* Remove old studio signin and signup pages and templates.
* Fix url name "login", which had different meanings for Studio and LMS.
* Use the following settings: LOGIN_URL, FRONTEND_LOGIN_URL,
FRONTEND_LOGOUT_URL, and FRONTEND_REGISTER_URL.
* Redirect /signin and /signup to the LMS logistration.
* Add custom metric `uses_pattern_library`.
* Add custom metric `student_activate_account`.
* Add Django Settings to allow /signin, /signup, and /login_post to be
disabled once ready.
This work also relates to ARCH-218 and DEPR-6.
ARCH-1253
The _id comes back as a dict and it's in the wrong order compared to the
dict stored in mongo. This results in lookups for deletion failing when
we use the '_id' as the lookup key.
Luckily the delete function also takes the asset_key as a valid key to
delete by so we just use that instead.