From 7ed71d0c355b8a7a5e05cc49b10392322b272ed0 Mon Sep 17 00:00:00 2001 From: Muhammad Arslan Date: Tue, 26 Aug 2025 02:13:20 +0500 Subject: [PATCH 1/6] fix: refresh-saml-metadata beat task path fixed (#37257) Backports: https://github.com/openedx/edx-platform/pull/37080 --- lms/envs/production.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/envs/production.py b/lms/envs/production.py index 4884e0a22c87..f67926dec902 100644 --- a/lms/envs/production.py +++ b/lms/envs/production.py @@ -420,7 +420,7 @@ def get_env_setting(setting): # If we didn't override the value in YAML, OR we overrode it to a truthy value, # then update CELERYBEAT_SCHEDULE. CELERYBEAT_SCHEDULE['refresh-saml-metadata'] = { - 'task': 'common.djangoapps.third_party_auth.fetch_saml_metadata', + 'task': 'common.djangoapps.third_party_auth.tasks.fetch_saml_metadata', 'schedule': datetime.timedelta(hours=hours), } From 790f94c0324c85c59196c55924c0ce182d2628db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chris=20Ch=C3=A1vez?= Date: Thu, 28 Aug 2025 11:14:31 -0500 Subject: [PATCH 2/6] [Teak] feat: Show disabled edit button and tooltip to component in units from libraries [FC-0097] (#37282) * Show disabled edit button and tooltip to component in units from libraries --- .../sass/course-unit-mfe-iframe-bundle.scss | 43 +++++++++++++++++++ cms/templates/studio_xblock_wrapper.html | 14 +++++- 2 files changed, 56 insertions(+), 1 deletion(-) diff --git a/cms/static/sass/course-unit-mfe-iframe-bundle.scss b/cms/static/sass/course-unit-mfe-iframe-bundle.scss index 4100310f406b..13f8b1988286 100644 --- a/cms/static/sass/course-unit-mfe-iframe-bundle.scss +++ b/cms/static/sass/course-unit-mfe-iframe-bundle.scss @@ -618,6 +618,42 @@ body, } } +.lib-edit-warning-tooltipbox { + .tooltiptext { + visibility: hidden; + position: absolute; + width: 200px; + background-color: $black; + color: $white; + text-align: center; + padding: 5px; + border-radius: 6px; + z-index: 1; + top: 50%; + right: 100%; + margin-right: 10px; + transform: translateY(-50%); + opacity: 0; + transition: opacity 0.3s; + } + + .tooltiptext::after { + content: ""; + position: absolute; + top: 50%; + left: 100%; + transform: translateY(-50%); + border-width: 5px; + border-style: solid; + border-color: transparent transparent transparent $black; + } + + &:hover .tooltiptext { + visibility: visible; + opacity: 1; + } +} + .action-edit { .action-button-text { display: none; @@ -632,6 +668,13 @@ body, display: none; } + &.disabled-button { + pointer-events: all; + opacity: .5; + cursor: default; + border-color: $transparent + } + &::before { @extend %icon-position; diff --git a/cms/templates/studio_xblock_wrapper.html b/cms/templates/studio_xblock_wrapper.html index f6022c6ac0e5..e5ec43434747 100644 --- a/cms/templates/studio_xblock_wrapper.html +++ b/cms/templates/studio_xblock_wrapper.html @@ -152,7 +152,7 @@ % endif % if not show_inline:
  • - @@ -211,6 +211,18 @@
  • % endif + % else: + % if not show_inline: +
  • +
    + + ${_('Components within a library referenced object cannot be edited')} +
    +
  • + % endif % endif % endif From 00f7d1fd8f1a80fab4c203128b90e1f046b0559b Mon Sep 17 00:00:00 2001 From: Muhammad Anas <88967643+Anas12091101@users.noreply.github.com> Date: Fri, 29 Aug 2025 17:43:22 +0500 Subject: [PATCH 3/6] fix: intermittent "utils attribute not found" issue in webpack_loader (#37306) Backports: https://github.com/openedx/edx-platform/pull/37109 --- xmodule/util/builtin_assets.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/xmodule/util/builtin_assets.py b/xmodule/util/builtin_assets.py index cb1fca721414..6b8eb86ecf34 100644 --- a/xmodule/util/builtin_assets.py +++ b/xmodule/util/builtin_assets.py @@ -5,7 +5,6 @@ """ from pathlib import Path -import webpack_loader from django.conf import settings from django.core.exceptions import ImproperlyConfigured @@ -44,6 +43,11 @@ def add_webpack_js_to_fragment(fragment, bundle_name): """ Add all JS webpack chunks to the supplied fragment. """ - for chunk in webpack_loader.utils.get_files(bundle_name, None, 'DEFAULT'): + # Importing webpack_loader.utils at the top of the module causes an exception: + # OSError: Error reading webpack-stats.json. + # Are you sure webpack has generated the file and the path is correct? + # We are not quite sure why. + from webpack_loader.utils import get_files + for chunk in get_files(bundle_name, None, 'DEFAULT'): if chunk['name'].endswith(('.js', '.js.gz')): fragment.add_javascript_url(chunk['url']) From edb9845e7312724f3671af0275ebbf1f24b13f27 Mon Sep 17 00:00:00 2001 From: Muhammad Arslan Abdul Rauf Date: Fri, 27 Jun 2025 17:23:03 +0500 Subject: [PATCH 4/6] fix: find and match enterprise user only if enterprise is enabled --- common/djangoapps/third_party_auth/pipeline.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/common/djangoapps/third_party_auth/pipeline.py b/common/djangoapps/third_party_auth/pipeline.py index ef1e6f887c36..2fff57620a9e 100644 --- a/common/djangoapps/third_party_auth/pipeline.py +++ b/common/djangoapps/third_party_auth/pipeline.py @@ -787,6 +787,7 @@ def associate_by_email_if_saml(auth_entry, backend, details, user, strategy, *ar This association is done ONLY if the user entered the pipeline belongs to SAML provider. """ + from openedx.features.enterprise_support.api import enterprise_is_enabled def get_user(): """ @@ -795,6 +796,7 @@ def get_user(): user_details = {'email': details.get('email')} if details else None return get_user_from_email(user_details or {}) + @enterprise_is_enabled() def associate_by_email_if_enterprise_user(): """ If the learner arriving via SAML is already linked to the enterprise customer linked to the same IdP, From adf88ffc0d61fe2c898a98ac3f8fd4e9ed038899 Mon Sep 17 00:00:00 2001 From: Muhammad Arslan Abdul Rauf Date: Thu, 11 Sep 2025 17:57:20 +0500 Subject: [PATCH 5/6] chore(deps): openedx-forum upgraded using make upgrade-package --- requirements/edx/base.txt | 2 +- requirements/edx/development.txt | 2 +- requirements/edx/doc.txt | 2 +- requirements/edx/testing.txt | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/requirements/edx/base.txt b/requirements/edx/base.txt index 3a9391489f5b..492d3c193c69 100644 --- a/requirements/edx/base.txt +++ b/requirements/edx/base.txt @@ -815,7 +815,7 @@ openedx-filters==2.0.1 # -r requirements/edx/kernel.in # lti-consumer-xblock # ora2 -openedx-forum==0.3.4 +openedx-forum==0.3.6 # via -r requirements/edx/kernel.in openedx-learning==0.26.0 # via diff --git a/requirements/edx/development.txt b/requirements/edx/development.txt index 4cb35eda8c26..cea879b897d1 100644 --- a/requirements/edx/development.txt +++ b/requirements/edx/development.txt @@ -1374,7 +1374,7 @@ openedx-filters==2.0.1 # -r requirements/edx/testing.txt # lti-consumer-xblock # ora2 -openedx-forum==0.3.4 +openedx-forum==0.3.6 # via # -r requirements/edx/doc.txt # -r requirements/edx/testing.txt diff --git a/requirements/edx/doc.txt b/requirements/edx/doc.txt index 76195ab08d48..c9929446bdd8 100644 --- a/requirements/edx/doc.txt +++ b/requirements/edx/doc.txt @@ -986,7 +986,7 @@ openedx-filters==2.0.1 # -r requirements/edx/base.txt # lti-consumer-xblock # ora2 -openedx-forum==0.3.4 +openedx-forum==0.3.6 # via -r requirements/edx/base.txt openedx-learning==0.26.0 # via diff --git a/requirements/edx/testing.txt b/requirements/edx/testing.txt index 7fe3dab49560..6eb1248b07ee 100644 --- a/requirements/edx/testing.txt +++ b/requirements/edx/testing.txt @@ -1044,7 +1044,7 @@ openedx-filters==2.0.1 # -r requirements/edx/base.txt # lti-consumer-xblock # ora2 -openedx-forum==0.3.4 +openedx-forum==0.3.6 # via -r requirements/edx/base.txt openedx-learning==0.26.0 # via From 9530d5837384119562cf70c4180567937511460c Mon Sep 17 00:00:00 2001 From: Asespinel Date: Mon, 15 Dec 2025 10:53:59 -0500 Subject: [PATCH 6/6] chore: ran make compile requirements --- requirements/common_constraints.txt | 6 +----- requirements/pip.txt | 4 +--- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index fc92ee019407..748858b7015a 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -16,13 +16,9 @@ # this file from Github directly. It does not require packaging in edx-lint. # using LTS django version -Django<5.0 +Django<6.0 # elasticsearch>=7.14.0 includes breaking changes in it which caused issues in discovery upgrade process. # elastic search changelog: https://www.elastic.co/guide/en/enterprise-search/master/release-notes-7.14.0.html # See https://github.com/openedx/edx-platform/issues/35126 for more info elasticsearch<7.14.0 - -# Cause: https://github.com/openedx/edx-lint/issues/458 -# This can be unpinned once https://github.com/openedx/edx-lint/issues/459 has been resolved. -pip<24.3 diff --git a/requirements/pip.txt b/requirements/pip.txt index 6bb638bff471..d52d3d7fdf3b 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -9,8 +9,6 @@ wheel==0.45.1 # The following packages are considered to be unsafe in a requirements file: pip==24.2 - # via - # -c requirements/common_constraints.txt - # -r requirements/pip.in + # via -r requirements/pip.in setuptools==79.0.0 # via -r requirements/pip.in