Commit Graph

25517 Commits

Author SHA1 Message Date
Ali-Salman29
539666dc40 feat!: remove cs_comments_service support for forum's content APIs
- This will force the use of the new v2 forum's APIs for Threads & Comment.
- Update params for get_user_subscription function. It uses the same structure as we have in the get_user_threads.
2025-09-15 09:10:06 -04:00
ayesha waris
2a2942bc7f feat: automatically follow post when creating comments/responses (#37318)
* feat: automatically follow  post while createing comments/responses

* feat: follow post when a comment or response is created

* test: updated tests

---------

Co-authored-by: Ayesha Waris <ayesha.waris@192.168.10.28>
Co-authored-by: Muhammad Adeel Tajamul <muhammadadeeltajamul@hotmail.com>
2025-09-12 13:10:39 +05:00
Kyrylo Kireiev
7f885c79f7 fix: [FC-0092] fix 500 when return_type is list (#36969)
There was problem in filter_discussion_xblocks_from_response(). This
function was breaking the list response for the BlocksInCourseView by
returning a dict instead of list.
2025-09-09 14:35:09 -04:00
Maxwell Frank
b9becdeb1d fix: program details dashboard (#37203)
Co-authored-by: Deborah Kaplan <deborahgu@users.noreply.github.com>
2025-09-09 13:43:32 -04:00
Taimoor Ahmed
ed45fbba37 fix: Invalid read param in forum thread api
This PR fixes the invalid read parameter being passed in forum update_thread api.
this was somehow introduced in this commit 6f522f3992 (diff-b9d08209a02c673887f6ca72b0018758174e95508539adbcb6885f22c7844eb8L292)
2025-09-08 11:17:10 -04:00
Ahtisham Shahid
914887ff78 Revert "feat: added api for mobile configs (#37323)" (#37332)
This reverts commit 3d4652420c.
2025-09-08 19:33:33 +05:00
Ram Chandra Bhavirisetty
42afa1bb62 chore: remove deprecated DEFAULT_FILE_STORAGE and STATICFILES_STORAGE settings (#37002) 2025-09-05 17:52:33 -04:00
Feanil Patel
06b54e79f2 Merge pull request #36845 from raccoongang/rg/axm-course-catalog-extend-courseware-api
feat: [FC-86] extend courseware api with new fields
2025-09-04 09:46:25 -04:00
Ahtisham Shahid
3d4652420c feat: added api for mobile configs (#37323) 2025-09-04 16:21:07 +05:00
kshitij.sobti
0bed7d7127 feat: Add support for using LTI data to populate user profile
Currently the LTI provider implementation auto-creates a random user when
logging in, however, the LTI launch can include relevant user details such as
their email, full name and even a username. This change makes the LTI code
use the provided details if the "Use lti pii" setting is set in the Django
admin.
2025-09-01 09:36:48 +05:30
Deborah Kaplan
a4d4ddf9e3 chore: removing ENABLE_V2_CERT_DISPLAY_SETTINGS (#37302)
the remnants of the logic that used this setting has been gone for a long time.
This removes the toggle.

FIXES: APER-1405
2025-08-29 16:09:02 -04:00
Shafqat Farhan
728a325781 feat: Added pluggable override on financial_assistance (#37303) 2025-08-29 11:56:33 +05:00
Feanil Patel
3de21d9c41 test: Disable the Django Debug Toolbar by default.
Disable the toolbar by default but make it easy to turn back on as
needed.  This is in response to the discussion here:
    https://discuss.openedx.org/t/lets-remove-django-debug-toolbar/16847
2025-08-28 13:04:23 -04:00
Mubbshar Anwar
052b930ef5 fix: fix script tag quot escaped (#37296) 2025-08-28 19:01:19 +05:00
Mubbshar Anwar
d2eba789ff fix: fix test_html_tags_removal (#37209) 2025-08-28 11:51:22 +05:00
ayesha waris
58d0839aff fix: added thread id in comment/response reported event (#37276)
Co-authored-by: Ayesha Waris <ayesha.waris@A006-01000.local>
2025-08-27 15:24:22 +05:00
Awais Qureshi
053abe33de fix: django52 tightened consistency around delete ordering and signal/delete() method invocation. (#37250) 2025-08-27 13:37:20 +05:00
kshitij.sobti
ba6026f999 feat: Allow adding custom LTI parameters via LTI_CUSTOM_PARAMS django setting
Adds a new Django setting called `LTI_CUSTOM_PARAMS` that allows extending the
list of optional LTI parameters processed by the platform. These parameters can
be used by plugins for deeper platform integration.
2025-08-26 01:53:07 +05:30
Paulo Viadanna
d132efa08d feat: add a POST endpoint for listing courses (#35586)
* feat: add a POST endpoint for listing courses
2025-08-21 23:26:18 +05:30
kshitij.sobti
0fbfc1cf54 feat: Use dropdown for units when more then 15
When dealing with subsections that have a lot of units, show a dropdown for
unit selection to simplify navigation.
2025-08-21 17:42:02 +05:30
Agrendalath
bbc0cc2baa fix: show correct icons in the sidebar for units with custom XBlocks
Currently, the sidebar relies only on the XBlock's `category` class attribute
(called `type` in the transformers). This behavior is inconsistent with the
legacy subsection navigation, which relies on the `XModuleMixin.get_icon_class`
method. This commit adds the `icon_class` to the fields collected by the
transformers and uses it to determine whether the "problem" or "video" icon
should be displayed for a unit in the sidebar.
2025-08-21 00:29:01 +05:30
Agrendalath
64190d1e13 fix: sidebar completion for completable XBlocks with children
It is possible to create a completable XBlock with children.
An example is the Library Content Block with the
`MARK_LIBRARY_CONTENT_BLOCK_COMPLETE_ON_VIEW` feature toggle.
The sidebar should use the same mechanism as the `BlockCompletionTransformer`
and the `edx-completion` library. It means that we should treat:
1. An aggregator XBlock as completed only when all its children are completed.
2. A completable XBlock as completed when it is directly marked as completed
   (without checking the completion of its children).
2025-08-20 17:52:35 +05:30
Ehtesham Alam
cb80118ebf fix: remove CSRF_TRUSTED_ORIGINS_WITH_SCHEME variable (#37195) 2025-08-20 11:12:44 +05:00
Muhammad Adeel Tajamul
0c47ddf354 feat: removed spaces check for spam urls (#37238) 2025-08-20 05:54:06 +05:00
Pandi Ganesh
bc76a865f4 fix: update role assignment conditions (#37188) 2025-08-18 16:12:02 +05:00
Serhiii Nanai
55a3757107 feat: Extend MFE Config API for frontend-app-catalog [FC-0086] (#37130)
* feat: return response merged from base config, mfe config and mfe overrides

* test: adjust existing tests

* test: add new test methods

* fix: add blank line

* fix: remove homepage_overlay_html

* fix: typo in a comment

* test: change dict merge order to follow the correct hierarchy

* fix: change response keys to uppercase

* fix: add enable_course_discovery

* fix: change COURSES_ARE_BROWSABLE to NON_BROWSABLE_COURSES

* fix: remove show_homepage_promo_video

* fix: use None as default for promo video youtube id

* docs: expand docstrings, rename method/variables

* fix: remove is_cosmetic_price_enabled field
2025-08-15 09:15:40 -04:00
Mubbshar Anwar
a41a413983 chore: Remove assertQuerysetEqual (#37182)
replace assertQuerysetEqual with assertEqual dut to deprecation in Django 5.2
2025-08-12 11:14:16 +05:00
Taylor Payne
325a0c116a fix: update mock config to include scheme for csrf domains (#37120)
Since the scheme must be included for the CSRF_TRUSTED_ORIGINS setting since
Django 4.0, this changes the values in the mock.yml configuration files to use
the scheme for the values under CSRF_TRUSTED_ORIGINS. We match the values
defined under CSRF_TRUSTED_ORIGINS_WITH_SCHEME key.

lms/envs/production.py pulls from CSRF_TRUSTED_ORIGINS_WITH_SCHEME in the YAML
config to set the CSRF_TRUSTED_ORIGINS setting , but cms/envs/production.py
pulls from CSRF_TRUSTED_ORIGINS in the YAML. So, this change fixes the CMS when
run with mock.yml.
2025-08-08 11:31:04 -04:00
Muhammad Farhan Khan
4a9fc77ecb test: Allow for Extracted Word Cloud Block | Fix Test Cases (#35983)
Run tests for both the built-in and extracted WordCloud block.
The tests are mostly compatible with both versions of the block,
except for a few places where the XBlock framework and the
built-in XModule system differ which we've had to handle using
conditionals.

This moves us closer to enabling the extracted WordCloud block
by default and eventually removing the built-in block.

Part of: https://github.com/openedx/edx-platform/issues/34840
2025-08-08 11:22:26 -04:00
Feanil Patel
f491b97b22 fix: Update naming for courseware section/subsection.
These used to be named chapter and section before but we want to update
the courseware index view to use the new names if it's gonna stick
around.
2025-08-07 15:35:04 -04:00
Feanil Patel
d24f45f3ee feat: Drop unused render_accordion function and template.
This was referenced by the legacy courseware page so we don't need it
anymore.
2025-08-07 15:35:04 -04:00
Feanil Patel
562df7386c feat: Make CoursewareIndex just a redirect.
We don't need to load the old UI and so don't need all the logic related
to it, just the logic that is expected to occur around other backend
functionality like masquerading.
2025-08-07 15:35:04 -04:00
Feanil Patel
2fc068220d style: Fix various linting issues. 2025-08-07 15:35:04 -04:00
Feanil Patel
3520b6b8e1 test: Drop testing for legacy courseware UI
This has all been replaced by the learning MFE and will be removed from
the platform in subsequent commits.

For masquerade testing, the page no longer renders content and so
shouldn't be a part of this test.  The render_xblock url is what is used
by the MFE so we're still testing that the course-wide content is being
loaded correctly for content served by the learning MFE.
2025-08-07 15:35:04 -04:00
Feanil Patel
0121a0ad9e test: Drop a legacy test.
This test tests whether or not we can load the legacy courseware page if
we have not met prerequisites.  We don't need this anymore because we
are in the process of removing those pages and the default is now to
load the MFE instead.

The underlying checks still happens as a part of the
`_has_access_course` function which calls
`lms/djangoapps/courseware/access.py:_can_view_courseware_with_prerequisites`
2025-08-07 15:35:04 -04:00
Feanil Patel
3334325ff9 fix: Drop _get_legacy_courseware_url and related usage.
We were running some tests using this function but it is not actually
used in the running application anymore so drop those tests and remove
the function in preparation for removing the legacy courseware itself.
2025-08-07 15:35:04 -04:00
Daniel Wong
7479beb29d fix: adjust storage class path to use SOFTWARE_SECURE settings 2025-08-06 13:25:10 -06:00
Daniel Wong
82f5955ae2 fix: handle errors in nested legacy settings in resolve_storage_backend 2025-08-06 13:25:10 -06:00
Daniel Wong
f114399e12 fix: update resolve_storage_backend function and fix tests 2025-08-06 13:25:10 -06:00
Daniel Wong
2b9fb55231 feat: deprecate get_storage_class 2025-08-06 13:25:10 -06:00
Hunzlah Malik
13944afc91 feat: reset_student_attempts_for_entrance_exam to DRF (#37069)
* feat: reset_student_attempts_for_entrance_exam to DRF

* fix: update imports sequence

---------

Co-authored-by: Awais Qureshi <awais.qureshi@arbisoft.com>
2025-08-06 16:29:54 +05:00
kshitij.sobti
96ace718f4 feat: Send an LTI launch event for LTI Launches 2025-08-06 16:25:13 +05:30
Taylor Payne
16d96565e3 refactor: move production defaults to common modules (#37045)
In the effort to simplify settings in edx-platform, as discussed in ADR 22 -
Settings Simplification, this PR brings some of the production defaults defined
in `lms/envs/production.py` and `cms/envs/production.py` up to
`openedx/envs/common.py` or `lms/envs/common.py` and `cms/envs/common.py` as
appropriate.

Bringing these defaults up from the `production.py` settings modules caused
changes in the rendered settings of the `test.py` modules, and so I have
settings to the `test.py` modules to bring the rendered settings back in line
with what is has been. I have not deeply looked at which settings are needed
for tests to pass or not, but just the differences between the rendered
settings between `master` and this branch.

ADR 22: https://github.com/openedx/edx-platform/blob/master/docs/decisions/0022-settings-simplification.rst
Fixes https://github.com/openedx/edx-platform/issues/36892.
2025-08-04 17:06:16 -04:00
Muhammad Adeel Tajamul
d59f5b39fe fix: fixed missing course in bulk delete (#37103) 2025-08-04 11:25:50 +05:00
Ahtisham Shahid
c2a86534e6 fix: updated captcha api to use enterprise assessment (#37079)
* fix: updated captcha api to use enterprise assessment
2025-08-03 21:27:12 +00:00
Hassan Raza
4793f883fc chore: Remove notification app waffle flags (#37086) 2025-08-01 14:59:40 +05:00
Muhammad Adeel Tajamul
b658470f8b feat: added configurable ratelimit feature in discussions (#37094) 2025-07-31 17:35:10 +05:00
Nathan Sprenkle
02c45c5325 refactor: load learning mfe ports from env (#37082) 2025-07-30 11:59:26 -04:00
Pandi Ganesh
0bf88d225f feat: add course url to course team management GET API response (#37087)
* feat: add course_url to course team management GET API response

* fix: update docstring in api views

* feat: Implement CMS course URL generation with HTTPS scheme detection
2025-07-30 16:34:28 +05:30
Muhammad Arslan
d8ea16f6ec fix: refresh-saml-metadata beat task path fixed (#37080)
This PR fixes the task path in the Celery beat settings for the
refresh-saml-metadata scheduled task.

We had previously added the fetch_saml_metadata task to the Celery beat
schedule to run periodically (default: every 24 hours). However, due to a typo
in the task path, Celery workers were throwing errors. This fix corrects the
task path so the schedule can run as intended.
2025-07-29 15:46:59 -04:00