Commit Graph

7419 Commits

Author SHA1 Message Date
stvn
4f0415f5cb test: Add tests for discussions API access
This checks for expected API access [1];
data integrity will be checked later [2].

This work exposes that the code currently does _not_ grant access to
_course_ staff, only _global_ staff. This is being addressed next [3].

Fix: TNL-8229 [1]

- [1] https://openedx.atlassian.net/browse/TNL-8229
- [2] https://openedx.atlassian.net/browse/TNL-8230
- [3] https://openedx.atlassian.net/browse/TNL-8231
2021-04-13 23:57:49 -07:00
stvn
43698fff0a refactor: Move get_course_by_id helper from LMS to core
This helper is used by the LMS, CMS, _and_ `openedx.core`,
so let's move it to `openedx.core` to reduce import complexity.

The following files no longer import from LMS:
- cms/djangoapps/contentstore/management/commands/edit_course_tabs.py
- lms/djangoapps/ccx/migrations/0006_set_display_name_as_override.py
- openedx/core/djangoapps/ccxcon/api.py
- openedx/core/djangoapps/verified_track_content/models.py
- openedx/features/course_experience/plugins.py

Note: The LTI XBlock has a dependency on this import path (!?);
a fix can be found here [1].

- [1] https://github.com/edx/xblock-lti-consumer/pull/154
2021-04-13 23:25:48 -07:00
Hammad Ahmad Waqas
d904534fc8 Merge pull request #27239 from edx/hammad/ENT-4361
ENT-4361 | Added user's "id" and "email" as public fields in ACCOUNT_VISIBILITY_CONFIGURATION.
2021-04-13 17:21:43 +05:00
Ali Akbar
d1856c27a1 Merge pull request #27284 from edx/aakbar/PROD-2337
Allow reset password from Support Tools
2021-04-12 21:32:20 +05:00
HammadAhmadWaqas
3aa9248dcf * Added user's "id" and "email" as public fields in ACCOUNT_VISIBILITY_CONFIGURATION.
* Updated api/user/v1/accounts list view to search based on multiple emails as well.
2021-04-12 21:13:53 +05:00
Ali-D-Akbar
2b5cb1caad fix!: allow reset password from support tools 2021-04-12 21:06:41 +05:00
Albert (AJ) St. Aubin
c2db5c8906 [bug] Added in check for MySQL OperationalError for local development
[MICROBA-951]

When running the notify_credentials command locally there is an
OperationalError thrown by MySQL when there are no more results
available for the queryset iterator. This change catches that exception,
checks state, and then logs according to that state. This code runs in
production without issue. This changes allows for the code to be run
locally without a separate code path.
2021-04-12 10:36:49 -04:00
Jawayria
e3a449d63e Merge pull request #26604 from edx/jawayria/bom-2408-6
BOM_2408: Removed unused imports from openedx/core/djangoapps/user_api
2021-04-12 14:46:14 +05:00
Jawayria
953f1fa05c Merge pull request #26615 from edx/jawayria/bom-2408-7
BOM-2408: Removed unused imports from openedx/core/{djangolib, lib} a…
2021-04-12 14:45:52 +05:00
Uzair Rasheed
488069f0cf Merge pull request #27292 from edx/add-separate-ratelimit-var
Add independent ratelimit setting for forms
2021-04-10 14:46:53 +05:00
stvn
29384d1aa4 Merge PR #27295 bd03/api/decorator-permissions
* Commits:
  fix: Stop using view_auth_classes helper in discussions API
2021-04-09 10:07:14 -07:00
stvn
fc39c3e073 fix: Stop using view_auth_classes helper in discussions API
as it conflicts with the manually-assigned `permission_classes`;
the decorator erases them.
2021-04-09 09:38:27 -07:00
uzairr
1d5a95facb Add independent ratelimit setting for forms
Currently, login and registration forms and view to log the user in
are sharing same ratelimit settings which is causing too much noise
while rendering forms.This PR will introduce a separate
setting for logistration forms.

VAN-436
2021-04-09 21:10:08 +05:00
Bianca Severino
83ceefc4c5 Merge pull request #27244 from edx/bseverino/proctoring-info-masquerade
[MST-738] Pass username into CourseHomeMetadataView
2021-04-09 10:44:04 -04:00
Jawayria
7024f51a17 Merge pull request #26603 from edx/jawayria/bom-2408-5
BOM-2408: Removed unused imports from openedx/core/djangoapps/{themin…
2021-04-09 19:32:12 +05:00
Pooja Kulkarni
86bfcea19c feat: Django app to allow user retirement via API (#25800)
This adds a new django app to allow the GDPR user retirement via
Open edX's REST API. Prior to this the only way to trigger the user
retirement was either by the user themself clicking "Delete my account"
in the account setting page or via creating a User Retirement request
by admin. With these changes, the user retirement process can be
triggered using REST API.
2021-04-08 13:50:12 -04:00
stvn
67e045b5e0 refactor: Move discussions api LTI serialization logic 2021-04-08 09:31:48 -07:00
stvn
442a8a52cd Merge PR #27279 bd03/api/type-hints
* Commits:
  style: Add more typehints to discussions API
2021-04-08 09:27:20 -07:00
Dillon Dumesnil
c9197d3cfc refactor: AA-677: Switch relative dates to CourseWaffleFlag
We have been bucketing all users into the relative dates experiment
since May 18, 2020. We no longer need to keep this as an
ExperimentWaffleFlag and can convert to a CourseWaffleFlag (so it
continues to support exemptions).
2021-04-08 10:12:54 -04:00
Usama Sadiq
068ac5290f refactor: Ran pyupgrade on openedx/core
Ran pyupgrade on openedx/core/{lib, tests}
2021-04-08 18:34:38 +05:00
Usama Sadiq
8de47ef51f refactor: Ran pyupgrade on openedx/core
Ran pyupgrade on openedx/core/{djangolib, lib}
2021-04-08 18:34:24 +05:00
Usama Sadiq
6a79d47589 refactor: Ran pyupgrade on openedx/{testing, tests} 2021-04-08 14:49:40 +05:00
Usama Sadiq
04b3949683 refactor: Ran pyupgrade on openedx/core/djangoapps
Ran pyupgrade on openedx/core/djangoapps/{video_config, video_pipeline, waffle_utils}
2021-04-08 14:36:34 +05:00
stvn
862ba01208 style: Add more typehints to discussions API 2021-04-07 21:05:33 -07:00
stvn
2053da2a9e fix: Update default provider returned by discussions API 2021-04-07 11:54:21 -07:00
stvn
d884967e2c refactor: Split kwargs out to individual lines
to make further addition/deletion cleaner.
2021-04-07 11:43:12 -07:00
stvn
83c93973b0 Merge PR #27188 bd03/api/post
* Commits:
  feat: Implement POST endpoint for discussions API
  feat: Implement update helper for discussions API
  feat: Implement to_internal_value helper for discussion API
  feat: Add lti_configuration to discussions API payload
  refactor: Base discussions serializer off of ModelSerializer
  refactor: Remove unused helper from discussions API
  fix: Use the correct name for serializer to_internal_value
2021-04-07 11:32:18 -07:00
stvn
6eabae0d9e feat: Implement POST endpoint for discussions API 2021-04-07 10:48:59 -07:00
stvn
87e375d627 feat: Implement update helper for discussions API 2021-04-07 10:48:59 -07:00
stvn
342d922034 feat: Implement to_internal_value helper for discussion API 2021-04-07 10:48:59 -07:00
stvn
def644b9aa feat: Add lti_configuration to discussions API payload 2021-04-07 10:48:59 -07:00
stvn
0cce315539 refactor: Base discussions serializer off of ModelSerializer
to make Django operations easier.
2021-04-07 10:48:59 -07:00
stvn
3f6f6e3667 refactor: Remove unused helper from discussions API 2021-04-07 10:48:56 -07:00
stvn
e8163c9161 fix: Use the correct name for serializer to_internal_value
Fortunately, this wasn't being used yet.
2021-04-07 10:48:08 -07:00
Kyle McCormick
19ba691e33 refactor: clean up some courseware URL handling docs & tests
Based on Julia's code review.
2021-04-07 10:24:58 -04:00
Kyle McCormick
a69567b18b feat: default staff to courseware MFE if active (via jump_to)
The /jump_to/ LMS endpoint is used in a number of places
to direct users to courseware. It currently only redirects to
Legacy courseware URLs, which then conditionally may
redirect to the Learning MFE.

Two issues with this:
1. Performance Impact: In most cases, going to Legacy first
   is just an extra redirect.
2. Confusion for Privileged Users: Neither course nor global
   staff are auto-redirected from the Legacy experience to the
   MFE. Thus, these priviliged users confusingly never see the
   MFE by default; they must always manually click into it.

This commit makes it so that /jump_to/ directs
users to whatever the default courseware experience is
for them. For staff of courses active in the new experience,
this will impact (at a minimum) the "View Live"
links in Studio, all links on the old and new LMS
course outline, and the "Resume" links on the course
dashboard. Learners should see no difference other than
a performance improvement when following courseware links
from the LMS.

This also adds an optional 'experience=[legacy|new]'
query param to /jump_to/, allowing us to specifically
generate Legacy courseware URLs for the
"View in Legacy Experience" tool.

TNL-7796
2021-04-07 10:24:58 -04:00
Usama Sadiq
25b275bca4 refactor: Ran pyupgrade on openedx/core/djangoapps
Ran pyupgrade on openedx/core/djangoapps/{xblock, xmodule_django, zendesk_proxy}
2021-04-07 18:57:52 +05:00
Usama Sadiq
ac8c3b6a03 refactor: Ran pyupgrade on openedx/core/djangoapps
Ran pyupgrade on openedx/core/djangoapps/{util, verified_track_content}
2021-04-07 18:57:12 +05:00
Usama Sadiq
d540688f8e refactor: Ran pyupgrade on openedx/core/djangoapps/user_authn 2021-04-07 18:54:33 +05:00
Piotr Surowiec
bc1e9afe4b feat: allow overriding unit icons (#21433)
This:
1. Introduces a new override using the `pluggable_override` decorator.
It is now possible to specify a custom way of getting XBlock's icon
by defining `GET_UNIT_ICON_IMPL` in settings.
2. Introduces a way to add custom `XBLOCK_MIXINS` by defining
`XBLOCK_EXTRA_MIXINS` in settings. This allows, e.g. to add
new fields to XBlocks.
2021-04-07 09:42:12 -04:00
Muhammad Ammar
9d7e804236 Merge pull request #27255 from edx/ammar/update-cache-key-for-dsc
update cache key for DSC
2021-04-07 15:27:42 +05:00
Jawayria
cf81718b10 Merge pull request #26601 from edx/jawayria/bom-2408-4
BOM-2408: Remove unused imports from openedx/core/djangoapps/{dark_la…
2021-04-07 12:56:37 +05:00
Jawayria
a4744dfde1 Merge pull request #26600 from edx/jawayria/bom-2408-3
BOM-2408: Removed unused imports from openedx/core/djangoapps/{conten…
2021-04-07 12:56:20 +05:00
Zaman Afzal
194f29ca55 ENT4134 Add the support for multiple IDPs (#27073)
* ENT4134 Add the support for multiple IDPs
2021-04-06 23:27:20 +05:00
Robert Raposa
280f8e1577 docs: improve CourseWaffleFlag admin docs
Improve the docs for how to configure CourseWaffleFlag
overrides via Django admin.

ARCHBOM-1721
2021-04-06 11:05:44 -04:00
Jawayria
83aa5f02f1 Refactor: Removed unused imports
Removed unused imports from openedx/core/djangoapps/user_api
2021-04-06 18:25:35 +05:00
muhammad-ammar
3929d098b6 update cache key for dsc 2021-04-06 17:34:42 +05:00
Jawayria
4cdf466215 refactor: Removed unused imports
Removed unused imports from openedx/core/{djangolib, lib} and openedx/{tests, features}
2021-04-06 17:24:04 +05:00
Jawayria
6ad42655b4 Refactor: Removed unused imports
Removed unused imports from openedx/core/djangoapps/{theming, user_authn, xblock}
2021-04-06 17:15:39 +05:00
Jawayria
8fc7333982 Refactor: Remove unused imports
Removed unused imports from openedx/core/djangoapps/{dark_lang, django_comment_common, embargo, lang_pref, oauth_dispatch, plugins, programs, schedules}
2021-04-06 17:11:59 +05:00