Commit Graph

3172 Commits

Author SHA1 Message Date
Robert Raposa
372d2e927c BOM-1264: add third-party-auth scope and usage (#23135)
* WIP: add third-party-auth scope and usage

BOM-1264


* Fix tests now that we do permissions in a more standard way.

Rather than manually setting the permission class we previously
explicitly raised a PermissionDenied exception.  The way DRF
permissoning logic works, if we use the WWW-Authenticate header in the
highest priority auth class, it will return a 401 instead of a 403.


* Added test to make sure having permissions gives access to user mapping api

* Test new filters logic.

Ensure that the filters we add to the application access model make it
into the JWT correctly.

* quality fix

* quality fix

* disable pylint warning

* quality fix

* fix indent prob

Co-authored-by: Feanil Patel <feanil@edx.org>
Co-authored-by: Manjinder Singh <49171515+jinder1s@users.noreply.github.com>
2020-02-21 11:25:28 -05:00
Samuel Walladge
39de23c666 Add flag to enable password change form in admin
This was previously disabled because changing another user's password is
both not usually recommended and bypasses password policy. Here, we add
a feature flag (`ENABLE_CHANGE_USER_PASSWORD_ADMIN`) to allow
re-enabling this password change form. This allows continued use of this
functionality by clients that require it.
2020-02-21 11:22:10 +10:30
Diana Huang
eaeed53b6f Merge pull request #23142 from edx/coryleeio/setting_profile_image_secret_key
This key used to have underscores and was accidentally changed to not have underscores, setting it back to the old value
2020-02-19 15:25:41 -05:00
Manjinder Singh
c540eb14ee Removing deprecated rest_framework_oauth library (#23139)
* Removing deprecated rest_framework_oauth library

* removing dependecy of django-rest-framework-oauth

* removing oauth_provider from cms
2020-02-19 15:10:59 -05:00
Diana Huang
2f019c4d23 Rename profile image hash seed to better describe what it is. 2020-02-19 13:11:45 -05:00
Cory Lee
5b6feccffd This key used to have underscores and was accidentally changed to not have underscores, setting it back to the old value 2020-02-19 11:32:37 -05:00
Diana Huang
c99bf692cc Remove class_dashboard. 2020-02-18 13:35:26 -05:00
zia.fazal@arbisoft.com
6129f26ef4 Pull LEARNER_PORTAL_URL_ROOT from environment tokens 2020-02-17 18:53:09 +05:00
Manjinder Singh
a18d936d46 Revert "Adding new settings to correct places (#23051)" (#23112)
This reverts commit f08185443e.
2020-02-14 13:14:18 -05:00
Adeel Khan
d8fb768684 Using Feature flag to disable Mobile Course Available UI
This patch would disable Mobile Course Available
UI field in studio's advanced settings based on
DISABLE_MOBILE_COURSE_AVAILABLE flag..

PROD-1243
2020-02-13 19:49:09 +05:00
adeelehsan
da23496535 Merge pull request #23071 from edx/aehsan/prod-1188/monog_socket_timeout_increased
Mongo socket timeout increased.
2020-02-11 19:58:00 +05:00
Christie Rice
1167ce74c8 MICROBA-149 Create external user id tables (#23064)
* MICROBA-149 Create user id tables

* Move to openedx

* Rename app in doc

* Update PII tag

* Update doc
2020-02-11 08:17:28 -05:00
adeelehsan
374ecba38c Mongo socket timeout increased
prod-1188
2020-02-11 15:42:37 +05:00
Ayub-khan
d3a02bc3e5 BOM-1121
-Updated middleware setting to use use middleware insted of
middleware_classes
-github install of django-method-override fork to support
new style middleware in django1.11
2020-02-11 14:35:26 +05:00
Feanil Patel
4422fb36cf Merge pull request #23037 from edx/feanil/bom-939
BOM-939 Update pickle procotol version.
2020-02-10 11:36:20 -05:00
Manjinder Singh
f08185443e Adding new settings to correct places (#23051)
These settings are used to toggle new authentication class in discussion and bookmarks app. The auth class is in openedx/core/lib/api/authentication.py and was added to replace deprecated OAuth2Authentication class in [rest_framework_oauth library](https://github.com/jpadilla/django-rest-framework-oauth)
2020-02-10 10:17:31 -05:00
Zia Fazal
26891841e4 Merge pull request #22987 from edx/ziafazal/ENT-2269
ENT-2269: Added ability to logout from IDP when logout flow is triggered from learner portal
2020-02-10 12:53:41 +05:00
zia.fazal@arbisoft.com
d7ed021b8d Added ability to logout from IDP
Logout link should be displayed only for learner portal

Added changed to display only for learner portal
Added unit tests

check third_party_auth is enabled

Changes to extend SSO logout link feature to Oauth providers

Fixed quality violations

Removed unncessary assert

Reviewer feedback changes
2020-02-07 19:38:36 +05:00
Feanil Patel
1cb5e63246 Rename the serializer to better match its purpose. 2020-02-06 17:05:21 -05:00
Diana Huang
8c41447484 Merge pull request #23026 from edx/diana/shut-oauth-dispatch
Add toggle to remove access to DOP code paths.
2020-02-06 13:42:00 -05:00
Calen Pennington
1ac16660a0 Add course_date_signals to INSTALLED_APPS 2020-02-06 12:46:42 -05:00
Diana Huang
7f65b7c6b7 Add toggle to remove access to DOP code paths. 2020-02-06 11:21:41 -05:00
Diana Huang
1f45181c14 Remove ENABLE_SQL_TRACKING_LOGS and all associated code. 2020-02-05 14:42:33 -05:00
syedimranhassan
3ae0549ee0 Move devstack lms.yml and studio.yml to configuration repo 2020-01-29 14:12:55 +05:00
Adam Butterworth
2968401e09 Links in courseware iframed in MFEs navigate parent window (#22962)
[TNL-7043] If vertical block content is in an iframe in the learning microfrontend app, add a base tag in the head (of the iframe document) to force links to navigate the parent window.
2020-01-28 15:49:54 -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
Ned Batchelder
079d17b899 Remove code that is now in edx_api_doc_tools 2020-01-21 11:15:41 -05:00
Adeel Khan
4b6cf4801c Adds instagram and removes google-plus footer links
PROD-1178
2020-01-17 23:27:28 +05:00
Brittney Exline
e33b4614af ENT-2475 Upgrading edx-enterprise and adding settings for enterprise catalog service 2020-01-13 09:36:20 -05:00
Calen Pennington
dd5f85c870 Read STATICFILES_STORAGE_KWARGS from config to allow separate storage configuration for static assets 2020-01-07 14:03:37 -05:00
Jeremy Bowman
f10a7550d7 Unpin more dependencies (#22690) 2020-01-06 15:07:01 -05:00
Calen Pennington
e11e9d9073 Allow overriding ProductionStorage and ProductionS3Storage kwargs with a django settings value 2020-01-03 12:14:12 -05:00
Calen Pennington
e654036d54 Load any AWS_ prefixed settings from ENV_TOKENS to allow S3Boto3Storage to be correctly configured 2020-01-03 11:16:03 -05:00
Calen Pennington
151b309225 Convert custom storage subclasses into mixins so that we can store to either the filesystem or S3 2020-01-02 14:49:19 -05:00
Feanil Patel
6e3fe00fff Fix all E303 pep8 errors. 2019-12-30 12:25:38 -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
Zainab Amir
d2ca9a02d1 Disable Audit Certs for Whitelisted Students (#22401)
Ensure that certificate is not generated if a learner enrolled in
audit mode is whitelisted

PROD-978
2019-12-19 17:06:33 +05:00
Calen Pennington
11e163d420 Read the current edx-platform git revision from a file on disk 2019-12-17 07:44:28 -05:00
Matt Tuchfarber
5039ec6a01 Merge pull request #22519 from edx/tuchfarber/enable_devstack_theming
Adds optional setting to enable devstack theming
2019-12-13 12:56:28 -05:00
Matt Tuchfarber
3e94db7449 Adds optional setting to enable devstack theming
The mako engine isn't able to find themed templates in devstack because
the path it checks is set before we enable comprehensive theming. This
Adds a settings section to  comment out if you want to enable
theming in devstack.
2019-12-12 14:31:54 -05:00
Diana Huang
e005c0461e Handle the caching of responses between Python 2 and Python 3. 2019-12-12 11:18:43 -05:00
Diana Huang
28ce0e6739 Add logging middleware to determine why our responses are bad. 2019-12-11 17:01:07 -05:00
David Ormsbee
aaf4c46645 Add ENABLE_COURSEWARE_SEARCH_FOR_COURSE_STAFF flag
Add an LMS feature flag to enable courseware search for course staff
only. TNL-6931
2019-12-05 15:14:26 -05:00
Zia Fazal
b2de1b5214 Merge pull request #22448 from edx/revert-22413-revert-22345-ziafazal/ENT-1849-b
Revert "Revert "ENT-1849: Removed EnterpriseMiddleware""
2019-12-05 19:00:15 +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
syedimranhassan
f8f1edf4d8 Added devstack config yml file to app repo 2019-12-03 22:07:51 +05:00
Zia Fazal
94166afa64 Revert "Revert "ENT-1849: Removed EnterpriseMiddleware"" 2019-12-02 11:28:59 +05:00
Zia Fazal
052035bcfd Revert "ENT-1849: Removed EnterpriseMiddleware" 2019-11-27 19:26:07 +05:00