Commit Graph

67285 Commits

Author SHA1 Message Date
pwnage101
2dc7fa2722 feat: Upgrade Python dependency edx-enterprise
fix: [edx-enterprise] upgrade djangorestframework and skip automatic validators

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
2025-09-02 16:08:47 +00:00
Kyle McCormick
7ef575ed2d feat!: Drop import_from_modulestore app (3/3 -- uninstall app) (#37241)
https://github.com/openedx/edx-platform/issues/37242
2025-09-02 14:05:16 +00:00
Feanil Patel
1dcde0ff33 Merge pull request #37313 from openedx/repo-tools/upgrade-python-requirements-a9bd29e
chore: Upgrade Python requirements
2025-09-02 09:58:25 -04:00
Feanil Patel
5dab54b4c3 Merge pull request #37114 from mubbsharanwar/mubbsharanwar/36425
chore: upgrade social-auth-core
2025-09-02 09:57:04 -04:00
edX requirements bot
dc7259e930 chore: Upgrade Python requirements 2025-09-01 23:13:14 -04:00
Awais Qureshi
efaf0cf512 Merge branch 'master' into mubbsharanwar/36425 2025-09-02 01:10:32 +05:00
Devasia Joseph
a9bd29ea6e feat: enhance Course Optimizer to update previous course links via API (#37206)
* feat: API to update previous-run course links

* feat: handle edge cases and update tests for prev-run links API
2025-09-01 19:28:40 +05:00
Moncef Abboud
9c90fa0dd1 feat: tpa automatic logout with a single redirect 2025-09-01 13:23:45 +02:00
Hassan Raza
515ce7f791 chore: Management command to update preferences (#37297) 2025-09-01 13:08:43 +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
Feanil Patel
4651d343f5 Merge pull request #37308 from openedx/repo-tools/upgrade-python-requirements-728a325
chore: Upgrade Python requirements
2025-08-29 10:35:05 -04:00
edX requirements bot
cff5e562b8 chore: Upgrade Python requirements 2025-08-29 10:09:02 -04:00
Shafqat Farhan
728a325781 feat: Added pluggable override on financial_assistance (#37303) 2025-08-29 11:56:33 +05:00
Muhammad Adeel Tajamul
acad883a38 fix: added info in notification preferences (#37295) 2025-08-29 11:41:28 +05:00
Feanil Patel
25522efabc Merge pull request #37301 from openedx/feanil/disable_djdt
test: Disable the Django Debug Toolbar by default.
2025-08-28 16:16:10 -04:00
Navin Karkera
eb5ba0f87d fix: exception while trying to check sync status of deleted upstream (#37298)
Use `Upstream.try_get_for_block` instead of `Upstream.get_for_block` which raises `BadUpstream` if upstream block is deleted.
2025-08-28 17:43:06 +00: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
Rômulo Penido
8085bf6be4 feat: Add unlinkable to xblock actions and update top_level_parent_key on unlink [FC-0097] (#37215)
- Adds the `unlinkable` action to the XBlock object sent to the frontend
- Updates the `top_level_parent_key` reference when unlinking containers. If you unlink a Section with Subsections and Units, this updates the `top_level_parent_key` for the Subsections to `None` (they are the top level now), and the `top_level_parent_key` for the Units to the corresponding parent Subsection.
2025-08-28 16:30:17 +00:00
Mubbshar Anwar
052b930ef5 fix: fix script tag quot escaped (#37296) 2025-08-28 19:01:19 +05:00
Kyle McCormick
a86d29f155 feat!: Drop import_from_modulestore app (2/3 -- models) (#37240)
Part of: https://github.com/openedx/edx-platform/issues/37242
2025-08-28 08:43:54 -04:00
Mubbshar Anwar
d2eba789ff fix: fix test_html_tags_removal (#37209) 2025-08-28 11:51:22 +05:00
Mubbshar Anwar
4a27f9cbb5 fix: fix timezone for Django 5.2 (#37293) 2025-08-28 11:16:51 +05:00
edX requirements bot
a945e7d0a2 chore: Upgrade Python requirements (#37292) 2025-08-28 10:57:24 +05:00
Muhammad Faraz Maqsood
37b2b0d0d9 feat: implement course access role history table (#37260)
Co-authored-by: Muhammad Faraz  Maqsood <faraz.maqsood@A006-01130.local>
2025-08-28 09:17:25 +05:00
Awais Qureshi
73b19832aa fix: ensure _get_user returns saved user (with id) (#37290)
Django 5.2 tightened model handling: unsaved User objects (no primary key) no longer pass through in some checks.
2025-08-28 00:34:36 +05:00
Awais Qureshi
ec83b2aa64 fix: Updated tuple unpacking of signal receivers to match current structure in django52. (#37249) 2025-08-27 17:38:08 +05:00
Eemaan Amir
3b50dbb933 chore: remove edx.notifications.preferences.viewed event (#37285) 2025-08-27 17:04:04 +05:00
Muhammad Adeel Tajamul
abd305df85 feat: added rate limit on one click unsubscribe api (#37272)
* feat: added rate limit on one click unsubscribe api

* fix: fixed failing test

* chore: raise 400 error on invalid username

* fix: fixed pylint
2025-08-27 16:58:06 +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
Feanil Patel
109f5e036b Merge pull request #37269 from openedx/feanil/remove_unnecssary_toggle
feat: Remove the `SEND_CATALOG_INFO_SIGNAL` toggle
2025-08-26 15:39:21 -04:00
Feanil Patel
80e6e12c57 Merge pull request #37271 from openedx/repo-tools/upgrade-python-requirements-ba6026f
chore: Upgrade Python requirements
2025-08-26 15:04:31 -04:00
Feanil Patel
47efb29071 feat: Remove the SEND_CATALOG_INFO_SIGNAL
This setting controls an additive feature to send a signal on catalog
changes.  The signal is documented as a part of the list of supported
events in our openedx-events reference. It has also been running live in
the edx.org deployment for some time.

This change removes the signal and defaults to the behavior as if it is
net to true.

OPERATORS NOTE: If you override the `SEND_CATALOG_INFO_SIGNAL` in your
settings overrides for the edx-platform, you can remove that override.
This signal will always fire on catalog changes now.  The performance
impact of this change should be negligible.
2025-08-26 14:45:10 -04:00
Muhammad Anas
620f0ae0db fix: intermittent "utils attribute not found" issue in webpack_loader (#37109) 2025-08-26 11:12:48 -04:00
edX requirements bot
8e5a75ef10 chore: Upgrade Python requirements 2025-08-25 22:40:06 -04: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
Kyle McCormick
c5f0f09d79 feat!: Drop import_from_modulestore app (1/3 -- code only) (#37239)
Part of: https://github.com/openedx/edx-platform/issues/37242
2025-08-25 11:01:36 -04:00
Taimoor Ahmed
7e80061e39 fix: Discussion xblock error when loading for the first time
This PR fixes the user not being created when accessing the discussion xblock as the course_key was missing in some of the api calls and that lead to the forum backend not being fetched correctly.
2025-08-25 09:12:19 -04:00
edX requirements bot
1e39adf18d chore: Upgrade Python requirements (#37263) 2025-08-22 23:11:33 +05:00
edX requirements bot
001a791a89 chore: Upgrade Python requirements (#37229) 2025-08-22 19:27:39 +05:00
github-actions[bot]
d7d0abd8ea feat: Upgrade Python dependency edx-enterprise (#37261)
fix: bump edx-enterprise version to bump django-simple-history

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

Co-authored-by: UsamaSadiq <41958659+UsamaSadiq@users.noreply.github.com>
2025-08-22 18:37:29 +05:00
Vivek
2e141b4ef2 feat: Add DOI-specific headers for link validation (#37246) 2025-08-22 06:01:45 +00:00
Tarun Tak
6f13c1e1cd fix!: session ID stability while maintaining inactivity timeout (#36896)
This change modifies the SessionInactivityTimeout middleware to prevent
the session ID from changing on every request while still enforcing the
inactivity timeout.

Key improvements:
- Store datetime values as ISO strings for proper serialization
- Implement hybrid session save approach that only allows full session
  saves periodically (controlled by SESSION_SAVE_FREQUENCY_SECONDS)
- Preserve session ID between requests while still tracking user activity

This resolves the issue where lms_sessionid was changing on every user
interaction, which caused problems.

BREAKING CHANGE: The breaking change is that SESSION_ACTIVITY_SAVE_DELAY_SECONDS was introduced with a 15 minute default, which will change the current behavior. It is not necessarily breaking (since it actually fixes an issue), but this is to bring more attention to the new setting because the default is reasonable, but also somewhat arbitrary.
2025-08-21 23:15:12 -04:00
Chris Chávez
fa3dcc5482 feat: Add the top-level parent logic to the ready_to_sync value in the UpstreamLink (#37217)
- Updates `UpstreamLink.ready_to_sync` with the top-level parent logic: In a container, `ready_to_sync` is `True` if the container or any children have changes.
- Updates `decline_sync` to decline children recursively.
2025-08-21 16:34:58 -05:00
Navin Karkera
617b6447cc feat: reindex course and recreate upstream links post import and course re-run (#37237)
Index the newly created course after import and course re-run. Also recreate upstream links after course re-run.

We make use of newly created COURSE_RERUN_COMPLETED signal to run post re-run processes.
2025-08-21 18:15:55 +00:00
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