Commit Graph

24825 Commits

Author SHA1 Message Date
connorhaugh
efaef4510e fix: protect video transcript handler from scraper (#34017)
Web scrapers do annoying stuff like visit urls they shouldn't know about and cause xblock handlers to break.
I tested this by:
Making sure video transcripts worked as normal while logged in
making sure that I got no 500s in my logs while attempting to view it logged out.
2024-01-08 18:14:03 -05:00
María Guillermina Véscovo
9979ea2ba9 fix: prevent transcript feedback widget from appearing when there is no
video_id
2024-01-08 13:04:35 -03:00
Justin Hynes
2209549e68 Merge pull request #34000 from openedx/jhynes/APER-2551
docs: add diagrams for course cert awarding and revocation
2024-01-05 14:13:11 -05:00
Michael Roytman
7d8401c4cf Merge pull request #33972 from openedx/MichaelRoytman/devstack-exams-dashboard-url-setting
fix: correct EXAMS_DATE_MICROFRONTEND_URL devstack setting
2024-01-04 12:06:54 -05:00
Arslan Ashraf
986737a944 fix: Incorrect ORA assignment link in Dates tab (#33984) 2024-01-04 07:55:54 -05:00
Justin Hynes
49537d5011 docs: add diagrams for course cert awarding and revocation
[APER-2551]

This PR adds some diagrams to help visualize the current certificate awarding and revocation process of the monolith.
2024-01-03 18:58:35 +00:00
Jenkins
145609cb5e chore(i18n): update translations 2024-01-02 15:28:09 -05:00
SaadYousaf
8a9e19ad8f temp: add temporary logs for course wide notifications 2023-12-29 16:53:39 +05:00
Muhammad Adeel Tajamul
30c029f119 feat: added comment_endorsed, thread_followed and thread_unfollowed signals in mfe api (#33944) 2023-12-29 11:29:31 +05:00
Muhammad Adeel Tajamul
dd4a97d410 feat: added thread_flagged and comment_flagged signals in legacy discussion (#33949) 2023-12-29 11:29:17 +05:00
Jenkins
13cee3eac0 chore(i18n): update translations 2023-12-24 16:04:21 -05:00
michaelroytman
3f65347240 fix: correct EXAMS_DATE_MICROFRONTEND_URL devstack setting
This commit corrects the EXAMS_DATE_MICROFRONTEND_URL devstack setting to EXAMS_DASHBOARD_MICROFRONTEND_URL. This ensures that the exams dashboard can load in the Instructor Dashboard when an LTI-based proctoring provider is selected.
2023-12-22 11:37:51 -05:00
Zainab Amir
c233327ea0 feat: remove unused recommendations code (#33960) 2023-12-20 16:56:39 +05:00
SaadYousaf
2d353f5594 feat: move new forum content creation notifications to use course wide notification event 2023-12-20 14:25:00 +05:00
Alejandro Cardenas
ebcbe1cd92 refactor: allow editing of ANONYMOUS_SURVEY_REPORT by env tokens (#33954) 2023-12-19 14:40:41 -05:00
Glib Glugovskiy
cae4091579 docs: [FC-0031] Update docstring 2023-12-19 19:15:29 +02:00
KyryloKireiev
003f6d9bb4 refactor: [FC-0031] Use serializer instead of custom function 2023-12-19 19:15:29 +02:00
KyryloKireiev
81c992990a fix: [FC-0031] Add parameters description, refactor list method 2023-12-19 19:15:29 +02:00
KyryloKireiev
c4fe8d30e3 feat: [AXIM-26] Extended BlocksInCourseView API 2023-12-19 19:15:29 +02:00
Troy Sankey
9ef8ce61e6 feat: wrap new course_not_started_enterprise_learner in a SettingToggle
ENT-8078
2023-12-18 18:54:36 -08:00
Troy Sankey
499679ab6c feat: add new course access error_code for enterprise learners in future courses (2nd try)
Normally, the course API would return an access error_code of
`course_not_started` if the course has not started yet.  This change
breaks that up into two codes:

* if the course has not started:
  * return error_code=`course_not_started_enterprise_learner` if the
    learner is enrolled as a subsidized enterprise learner.
  * else, return error_code=`course_not_started`.

This supports a change to the frontend which will interpret
`course_not_started_enterprise_learner` differently and trigger a
redirect to the enterprise (B2B) learner dashboard instead of the B2C
dashboard.

ENT-8078
2023-12-18 12:55:17 -08:00
Asespinel
e9d84d0ec1 feat: added banner message for survey report (#33633)
* feat: added banner message for survey report

* refactor: addressed PR feedback and changes
* fix: fixed styles on admin templates
* refactor: changed script location to survey report block
* chore: removed whitespaces and renamed the context processor files
* feat: added banner message for survey report
* refactor: separated survey report template from admin and deleted base template
* refactor: changed months variable into a configurable setting


---------

Co-authored-by: Maria Fernanda Magallanes Zubillaga <maria.magallanes@edunext.co>
Co-authored-by: María Fernanda Magallanes <35668326+MaferMazu@users.noreply.github.com>
2023-12-18 10:19:51 -05:00
Jenkins
82f3cecd77 chore(i18n): update translations 2023-12-17 16:04:27 -05:00
Troy Sankey
f74d48341b Merge pull request #33937 from openedx/pwnage101/ENT-8078-2
revert: "feat: add new course access error_code for enterprise learners in future courses"
2023-12-15 11:17:16 -08:00
Feanil Patel
01fcbc9828 Merge pull request #33646 from raccoongang/rg/feat/FC0031/update_course_detail_view_endpoint
feat: [FC-0031] Add optional field 'is_enrolled' to course detail view
2023-12-15 14:08:32 -05:00
Troy Sankey
0ea0048bdf revert: "feat: add new course access error_code for enterprise learners in future courses"
This reverts commit 287a7ff7fd.
2023-12-15 10:49:46 -08:00
Glib Glugovskiy
d344a7eef6 fix: [FC-0031] Restrict access to is_enrolled field 2023-12-15 20:28:31 +02:00
KyryloKireiev
bd5386356a feat: [FC-0031] Add optional field 'is_enrolled' to course detail view 2023-12-15 14:28:09 +02:00
Troy Sankey
287a7ff7fd feat: add new course access error_code for enterprise learners in future courses
Normally, the course API would return an access error_code of
`course_not_started` if the course has not started yet.  This change
breaks that up into two codes:

* if the course has not started:
  * return error_code=`course_not_started_enterprise_learner` if the
    learner is enrolled as a subsidized enterprise learner.
  * else, return error_code=`course_not_started`.

This supports a change to the frontend which will interpret
`course_not_started_enterprise_learner` differently and trigger a
redirect to the enterprise (B2B) learner dashboard instead of the B2C
dashboard.

ENT-8078
2023-12-14 22:18:25 -08:00
Feanil Patel
5ec8737856 chore: Remove old datadog related settings.
Datadog was removed 6+ years ago but some settings and related keys got
left behind.  Get rid of them since we don't need them and also to
prevent people from assuming it's okay to hardcode datadog settings into
our codebase.
2023-12-14 12:17:37 -05:00
Varsha Menon
bfe6ba5daf fix: add import statement for handlers 2023-12-12 14:17:54 -05:00
Diana Huang
c6485d1d27 feat: renamed DeprecatedRestApiClient from EdxRestApiClient (#33916)
* feat: renamed DeprecatedRestApiClient from EdxRestApiClient

* chore: Updating Python Requirements (#33917)

* fix: Put slumber in the proper alphabetical order.

---------

Co-authored-by: Yagnesh <yagnesh.nayi@manprax.com>
Co-authored-by: edX requirements bot <49161187+edx-requirements-bot@users.noreply.github.com>
2023-12-12 13:32:09 -05:00
Erica Nwoga
a74f510f71 feat: post handler for agreements api (#33488) 2023-12-11 13:58:35 -05:00
Muhammad Adeel Tajamul
cf6a629ee7 fix: discussion tab should be None if discussion tab is disabled (#33861) 2023-12-11 15:06:37 +05:00
Jenkins
299cafa985 chore(i18n): update translations 2023-12-10 16:04:28 -05:00
Juliana Kang
01f60b54e5 feat: Financial assistance form learner privacy update (#33808)
REV-2764
2023-12-08 10:59:45 -05:00
Kyle McCormick
140f85853d feat!: remove Content Libraries V2 index (#33888)
BREAKING CHANGE: Removes all code, tests, and settings related to
indexing of V2 (blockstore-backed) content libraries in elasticsearch.
This includes indexing of top-level library metadata as well as indexing
of library block metadata. Operators who enabled the experimental
Library Authoring MFE *and* the experimental ENABLE_CONTENT_LIBRARY_INDEX
feature may notice that sorting, filtering, and searching of V2
libraries and their blocks may now be slower and/or less powerful.
The ENABLE_CONTENT_LIBRARY_INDEX feature was already disabled by
default, so most/all operators (including edx.org) should not notice
any difference.

Removed settings include:

* FEATURES['ENABLE_CONTENT_LIBRARY_INDEX']
* ENABLE_ELASTICSEARCH_FOR_TESTS
* TEST_ELASTICSEARCH_USE_SSL
* TEST_ELASTICSEARCH_HOST
* TEST_ELASTICSEARCH_PORT

For rationale, see the updated "Status" section of:
./openedx/core/djangoapps/content_libraries/docs/decisions/0001-index-libraries-in-elasticsearch.rst
2023-12-07 14:57:31 -05:00
Kyle McCormick
27803f51c8 feat!: assume & remove BLOCKSTORE_USE_BLOCKSTORE_APP_API (#33765)
Originally, Blockstore was an independent micro-service, accessed via a REST API.
Then, we changed Blockstore so it could be installed as an in-process Django app.

To support both modes, there existed a blockstore_api wrapper library in edx-platform,
with toggles controlling whether the wrapper called out to the micro-service's REST API versus the
Django app's Python API. Now that the micro-service Blockstore implementation is deprecated,
though, this wrapper library and toggles are just unnecessary complexity.

As a first step towards cleanup, we:

* remove several toggles and settings (details below);
* remove the blocokstore_api wrapper methods which called the REST API and
  marshalled them back into Python objects; and
* remove all test cases which relied on the Blockstore micro-service (and were skippped in CI).

In the future, we will remove the content libraries indexer, 
clean up the remaining bits of blockstore_api, and flatten out all
the Blockstore-related test class hierarchies which are no longer nceessary.

BREAKING CHANGE:
* These Django settings are removed:
  * BLOCKSTORE_PUBLIC_URL_ROOT
  * BLOCKSTORE_API_URL
  * BLOCKSTORE_API_AUTH_TOKEN
  * BLOCKSTORE_USE_BLOCKSTORE_APP_API
* The blockstore.use_blockstore_app_api Waffle switch is removed.
* edx-platform will act as it did when the DJango setting BLOCKSTORE_USE_BLOCKSTORE_APP_API
  or the Waffle switch blockstore.use_blockstore_app_api were enabled. That is, any running Blockstore
  micro-service instance will be ignored, and the Blockstore package which is installed into edx-platform
  will be used instead.

Ref: https://github.com/openedx/blockstore/issues/296
2023-12-06 15:15:18 +00:00
Ahtisham Shahid
2495120d89 chore: removed enable_moderation_reason_codes flag from discussion app (#33822)
* chore: removed enable_moderation_reason_codes flag from discussion app
2023-12-06 11:05:56 +05:00
Jenkins
5547ec6ff3 chore(i18n): update translations 2023-12-05 09:53:06 -05:00
Pooja Kulkarni
f5b246d0e9 feat: copy/paste unit from within a unit in Studio - feature flagged (#33724)
(requires the contentstore.enable_copy_paste_units waffle flag)
2023-12-01 11:33:34 -08:00
Leangseu Kim
ae6914fe3d chore: add ora mfe url env 2023-11-27 16:36:23 -05:00
github-actions[bot]
3b902c8f6f feat: Upgrade Python dependency edx-drf-extensions 9.0.0 (#33807)
Upgrade edx-drf-extensions 9.0.0

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`

edx-drf-extensions 9.0.0 requires VERIFY_LMS_USER_ID_PROPERTY_NAME
to be properly set in LMS to get the appropriate verification when
forgiving JWTs is enabled (which will soon be by default).

See openedx/edx-drf-extensions#408 for details.

This is part of:
edx/edx-arch-experiments#429

Co-authored-by: robrap <robrap@users.noreply.github.com>
2023-11-27 18:19:57 +00:00
Feanil Patel
a958097630 Merge pull request #33294 from raccoongang/rg/feat/FC0031/add_pagination_in_user_course_enrollments
feat: [FC-0031] Add DefaultPagination in UserCourseEnrollmentsList
2023-11-27 11:23:18 -05:00
mubbsharanwar
487b870ae4 revert: remove learner_recommendations app 2023-11-27 10:38:24 +05:00
Jenkins
1734fdc0dc chore(i18n): update translations 2023-11-26 16:09:14 -05:00
Mohammad Ahtasham ul Hassan
a57dd7325b feat: add course key param to track selection url (#33716) 2023-11-24 15:23:36 +05:00
Moeez Zahid
f880855f66 feat: Publish mobile SKUs to LMS (#33754) 2023-11-24 14:14:33 +05:00
Régis Behmo
09dfd8718e fix: CSRF errors in POST requests to LMS (#33727)
POST requests to the LMS are failing systematically when HTTPS is
enabled. This issue is observed in the Quince release branch. Here is
the root cause analysis:

- CorsCSRFMiddleware overrides the `is_secure` attribute by setting it
  to "false".
- CorsCSRFMiddleware calls the parent `process_view` method, from the
  CsrfViewMiddleware.
- CsrfViewMiddleware checks the Origin header, including the scheme. It
  is equal to "https://LMSHOST". But because the request is not
  considered secure, the expected origin is "http://LMSHOST".
- The check fails with "Origin checking failed"

We resolve this issue by running the CsrfViewMiddleware *before* the
custom CorsCSRFMiddleware. After a successful check of the
CsrfViewMiddleware, the request has the "csrf_processing_done = True"
attribute, and CorsCSRFMiddleware is short-circuited.

This issue did not happen in the following environments:

- in Palm because the CsrfViewMiddleware did not check the "Origin" header in Django 3.
- in the Studio, because the Studio already runs the CsrfViewMiddleware before
  the CorsCSRFMiddleware.
- in the master branch because the master branch does not yet run on
  Django 4. But the issue will happen in the master branch without this
  proposed change.

To bypass this issue in the master branch, it was proposed that we add
"https://LMSHOST" to CSRF_TRUSTED_ORIGINS. This would effectily bypass
CSRF checking entirely for all requests that originate from the LMS.
Such a solution would not be acceptable, as we would lose the security
guarantees offered by CSRF.

See discussion: https://github.com/openedx/wg-build-test-release/issues/325
2023-11-23 13:52:16 -04:00
Navin Karkera
e9ca49d3a6 fix: session_language url renamed to update_language
The url was renamed from session_language to update_language but it was still referred to in some html templates
2023-11-23 22:06:19 +05:30