Commit Graph

380 Commits

Author SHA1 Message Date
Manjinder Singh
8592109a2a Removed OPENID settings (#23299)
Part of removal of OpenID Connect
2020-03-04 14:52:00 -05:00
Manjinder Singh
7d2ff9cd3f Removing all settings that have OIDC in name (#23251)
* Removing all settings that have OIDC in name

* Removing ENABLE_DOP_ADAPTER

* changes JWT_ISSUER value in devstack
2020-03-04 09:06:29 -05:00
David Joy
fe1942561a Redirect to the courseware MFE when the ‘courseware’ view is loaded 2020-02-21 11:44:38 -05:00
Diana Huang
2f019c4d23 Rename profile image hash seed to better describe what it is. 2020-02-19 13:11:45 -05:00
Aarif
8cc86d3aab BOM-1141
Updating the django-rate-limit requirement.
updated the django-ratelimit to use unreleased version that supports Django 2.2
2020-01-26 12:45:37 +05:00
Feanil Patel
9cf2f9f298 Run 2to3 -f future . -w
This will remove imports from __future__ that are no longer needed.

https://docs.python.org/3.5/library/2to3.html#2to3fixer-future
2019-12-30 10:35:30 -05:00
Braden MacDonald
f31dc19887 Support anonymous users in the Blockstore-based XBlock runtime
Implementation details:
* Anonymous users are assigned a unique ID (like 
  `anon42c08f9996194e2a9339`) which gets stored in the django session.
  `block.scope_ids.user_id` and `block.runtime.anonymous_student_id`
  will both return this value.
* User state for anonymous users is stored in the django cache and
  automatically expires as the cache gets pruned. Because user state is
  stored, anonymous users can use interactive blocks like capa problems.
* There is no mechanism for upgrading to a registered account and
  keeping user state since the user state store for anonymous users
  (EphemeralKeyValueStore) is completely different than the one for
  registered users (DjangoKeyValueStore/"CSM"), and has no "list all
  keys" functionality.
* "User State Summary" field values are shared among [recently active]
  anonymous users but are not shared with registered users.
* Anonymous users can only access the `public_view` of XBlocks, not the
  regular `student_view`.
2019-12-19 16:12:24 -08:00
Calen Pennington
c83d0e2ca8 OverwriteStorage was removed from django-storages, so pull it into edx-platform (for now?) 2019-12-19 14:06:30 -05:00
Robert Raposa
2202545aec remove studio signin and signup pages
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
2019-12-04 02:36:36 -05:00
Nimisha Asthagiri
db42c7e1e2 User Authn: Remove deprecated, ENABLE_COMBINED_LOGIN_REGISTRATION 2019-10-29 08:57:58 -04:00
Cory Lee
0befab339b Always run CSMH migrations in all contexts (#21776)
* Always run CSMHE migrations for every application in all contexts
2019-09-25 13:27:26 -04:00
Ned Batchelder
71ce73d98e Merge pull request #21207 from edx/nedbat/api-docs
REST API docs
2019-09-18 16:42:10 -04:00
Braden MacDonald
1382bf8720 Save user state for Blockstore XBlocks in CSM, clean up CSM a bit (#21630)
This commit introduces the changes needed for XBlocks in Blockstore to save
their user state into CSM. Before this commit, all student state for Blockstore
blocks was ephemeral (in-process dict store).

Notes:

* The main risk factor of this PR is that it adds non-course keys to the
  course_id field in CSM. If any code (like analytics?) reads course keys
  directly out of CSM and doesn't have graceful handling for key types it
  doesn't recognize, it could cause an issue. With the included changes to
  opaque-keys, calling CourseKey.from_string(...) on these values will raise
  InvalidKeyError since they're not CourseKeys. (But calling
  LearningContextKey.from_string(...) will work for both course and library
  keys.)
* This commit introduces a slight regression for the Studio view of XBlocks in
  Blockstore content libraries: their state is now lost from request to request.
  I have a follow up PR to give them a proper studio-appropriate state store,
  but I want to review it separately so it doesn't hold up this PR and we can
  test this PR on its own.
2019-09-18 10:27:46 -04:00
Ned Batchelder
d585a8f71d URLs and settings for OpenAPI generation
API docs are now always available, no more toggle to enable them.
2019-09-17 16:54:27 -04:00
Feanil Patel
486e25bd79 Set a default value for PROCTORING_SETTINGS
The proctoring app assumes that this setting exists and so we get an
attribute error at runtime if it doesn't.  In python 2 this was not an
issue but because of the change in how exceptions are handle for getting
attributes, it's a problem in python 3.

The correct thing to do would be to fix this in the proctoring app so
that it checks for the existence of its value before using it but that's
a longer cycle to make/deploy that change so doing this as a stopgap to
get past it.
2019-09-06 17:04:17 -04:00
Braden MacDonald
d3f6ed09d8 Learning Contexts, New XBlock Runtime, Blockstore API Client + Content Libraries
https://github.com/edx/edx-platform/pull/20645

This introduces:
* A new XBlock runtime that can read and write XBlocks that are persisted using
  Blockstore instead of Modulestore. The new runtime is currently isolated so
  that it can be tested without risk to the current courseware/runtime.
* Content Libraries v2, which store XBlocks in Blockstore not modulestore
* An API Client for Blockstore
* "Learning Context" plugin API. A learning context is a more abstract concept
  than a course; it's a collection of XBlocks that serves some learning purpose.
2019-08-30 10:31:15 -07:00
Diana Huang
bf7dad15e4 Remove microsite djangoapp except migrations and configuration. 2019-08-16 09:42:57 -04:00
usama sadiq
aa8003baeb Added check to exclude OpenEdx
Added check to only apply the changes for
edx.org help center pages.
2019-08-02 12:05:54 +05:00
Feanil Patel
e51fae3784 letters doesn't exist in python 3.6
Use `ascii_letters` instead which is a reasonable alternative for our
usecases.
2019-07-19 09:48:10 -04:00
Amit
7dfb73c7a6 INCR-483: Make compatible with Python 3.x without breaking Python 2.7 support (#20795)
* reword INCR-483: Make compatible with Python 3.x without breaking Python 2.7 support

pick INCR-483: Re-run isort for lms/envs/test.py

INCR-483: change import order

INCR-483: PyLint fixes

* INCR-483: Fixes useless suppression

* INCR-483: Remove unused get_swagger_view
2019-07-02 12:54:34 -04:00
adeelehsan
2d369490dd Flag added to load limited courses on Dashboard
Dashboard is set to load 250 courses instead of
all the courses. A flag is also added to change
the number the courses to load.

PROD-204
2019-06-28 22:51:41 +05:00
Michael Youngstrom
139cdb8ba2 Switch testing from ecs to ec2 (#20846) 2019-06-27 22:04:02 -04:00
nadeemshahzad
993a21181a defaults to common.py 2019-06-25 13:01:29 +00:00
Christopher Pappas
4c5ca6d086 ENT-1887 | Adding logic for new business marketing footer url construction, while maintaining backwards compatibility
Fixing quality test

Testsing out a default value for the sake of jenkins tests. will revert

Fix footer test from being flaky

Moving an import statement

ran isort. adding a test. fixing 1 quality issue

Quality cleanups

Attempting more quality fixes

adding back in config variable name for default value

Adding ENTERPRISE_MARKETING_FOOTER_QUERY_PARAMS to common settings

Changing marketing_url logic to only concatenate enterprise url to root if the enterprise url is relative (starts with a /)

quality fixes
2019-05-09 17:15:47 -04:00
Jeremy Bowman
5eac6aa049 Upgrade to django-pipeline 1.6.14 (#20449) 2019-05-07 16:01:37 -04:00
Michael Youngstrom
bfe10720c6 Remove lettuce infrastructure 2019-04-18 09:58:21 -04:00
Christopher Pappas
3fcf99f65b ENT-1556 - Adding in roles claim to jwt for use with edx rbac
Adding logic that adds roles to jwt

Quality fixes
2019-03-28 14:17:07 -04:00
Felipe Montoya
923a91734d Fixing lettuce tests 2019-03-14 15:21:03 -05:00
Mike Dikan
2c149ca6be Removing the Deprecated the 'external_auth' package in favor of 'third_party_auth' which is the current recommendation. 2019-03-02 16:06:46 -05:00
Matthew Piatetsky
764319d3e0 fix unicode strings in lms/ part 2 2019-02-13 10:35:56 -05:00
Michael Terry
01129787c0 Remove PasswordHistory
This is a feature that has been deprecated and can be safely removed.

DEPR-7
2018-12-13 13:18:56 -05:00
Shadi Naif
4df2073376 Fix exceptions raised when a lazy text is used in json dump 2018-11-05 12:24:45 +02:00
Alex Dusenbery
99705e54a6 Remove GenericAPIView subclass from grades API views; add a test that /api-docs/ works. 2018-10-31 16:10:31 -04:00
Robert Raposa
53239bdf37 Remove JWT_COOKIES_FLAG.
The JWT_COOKIES_FLAG was a temporary flag used for rollout of the new
JWT cookies. These are live in Production, so we are removing the flag.

Without this flag, we set JWT cookies during login. However, this
requires an oAuth Client that isn't always available during unit tests.
We introduced a feature flag that is only used for unit tests to
disable setting the JWT cookies. The code explains a bit more why this
solution was selected over adding the oauth client to the database.

ARCH-247
2018-10-31 10:29:05 -04:00
Dillon Dumesnil
deb758c808 Added in tests for the new password validation. Fixed old tests that
relied on the old configuration values and old way of validating
passwords. Also improved registration page by always showing error
messages rather than hiding them on leaving the field.
2018-10-10 11:06:30 -04:00
Nimisha Asthagiri
02ba5fb0e8 Login service support for JWT Cookies 2018-10-01 13:08:40 -04:00
Jeremy Bowman
1a5bf35357 TE-2689 Remove useless pylint suppressions part 2 2018-08-14 17:39:02 -04:00
Nimisha Asthagiri
ae9b8956e0 Management command: generate_jwt_signing_key 2018-07-30 16:09:46 -04:00
Nimisha Asthagiri
eac1ce7bfd Asymmetric JWT support 2018-07-30 07:17:08 -04:00
Calen Pennington
b85d6f031c Merge pull request #18417 from cpennington/cale/fix-ora-webpack
Cale/fix ora webpack
2018-06-28 12:47:53 -04:00
Douglas Hall
db22939193 Add OAuth2 Scopes and Filters to JWTs. 2018-06-28 10:30:09 -04:00
Calen Pennington
07a15c681f Reapply the XBlock RequireJS -> Webpack changes
This reverts commit 105db2cf59, reversing
changes made to 447457594f.
2018-06-27 22:27:07 -04:00
Eric Fischer
e72549cdbe Revert "Merge pull request #18340 from cpennington/fix-studio-xblock-rendering"
This reverts commit 9a70ca78a5, reversing
changes made to efd5b9abbd.

Hopefully fixes EDUCATOR-3053
2018-06-15 13:18:27 -04:00
Calen Pennington
9a70ca78a5 Merge pull request #18340 from cpennington/fix-studio-xblock-rendering
Fix studio xblock failing renders (due to asset hashing loop)
2018-06-13 15:58:34 -04:00
Adeel Khan
7768dd1de3 Ratelimiting registration form validation end point.
This patch would ratelimit registration form validation
endpoint for anonymous user based on his/her ip.

LEARNER-3810
2018-06-08 14:45:15 +05:00
Calen Pennington
be3c7e05c5 Reapply "Switch container factory to webpack"
This reverts commit 18d93b00ba.
2018-06-07 15:52:05 -04:00
Calen Pennington
18d93b00ba Revert "Switch container factory to webpack" 2018-06-07 13:46:47 -04:00
Calen Pennington
0abe75a7c6 Re-apply the changes to convert XBlocks to Webpack
Reapplies edx/edx-platform#17509

This reverts commit 0f7e2373d0.
2018-06-06 12:52:12 -04:00
Calen Pennington
0f7e2373d0 Revert "Switch container factory to webpack" 2018-05-29 16:01:38 -04:00
Calen Pennington
d08e199f79 Load XBlocks with webpack rather than RequireJS 2018-05-29 12:19:05 -04:00