Commit Graph

67462 Commits

Author SHA1 Message Date
Abdul-Muqadim-Arbisoft
e5b497cbba fix: prevent None entrance_exam_minimum_score_pct from breaking CourseOverview sync (#37339)
* fix: prevent None entrance_exam_minimum_score_pct from breaking CourseOverview sync

When entrance exams are disabled in Studio, the field
`entrance_exam_minimum_score_pct` was set to `None`. This caused silent failures
when saving `CourseOverview` because the database column requires a float (NOT NULL).

This patch ensures that:
- CourseOverview sanitizes None values by falling back to
  `settings.ENTRANCE_EXAM_MIN_SCORE_PCT` (default=50).
- Studio avoids writing `None` and instead applies the configured default.

Impact:
- Prevents IntegrityErrors and silent failures when updating course settings.
- Restores proper syncing between modulestore (Mongo) and CourseOverview (MySQL).
- Fixes reported issues such as display name changes not persisting and course
  start dates not syncing.

Closes: https://github.com/openedx/edx-platform/issues/37319#

* refactor: clean up entrance_exam_minimum_score_pct handling

- Consolidate logic to avoid repeated assignments
- Centralize None fallback and int/float normalization
- Improve readability with inline comment and consistency with Open edX style

* test: update entrance exam deletion test to expect default min score

- Adjusted `test_entrance_exam_created_updated_and_deleted_successfully` to check for
  `settings.ENTRANCE_EXAM_MIN_SCORE_PCT` instead of `None` after exam deletion
- Added handling for both int and float defaults (`/100` for integer case)
2025-10-08 15:26:00 +05:00
Haftamu Kebede
e46cfa6b32 feat: Certificate sharing to linkedin (optionally) consider course level organization name (#37331)
By adjusting social media sharing settings(specifically linkedin) certificate parameters are autopopulated to LinkedIn API. Additional setting parameters(such as CERTIFICATE_LINKEDIN_DEFAULTS_TO_COURSE_ORGANIZATION_NAME) are introduced to override existing(platform level parameter for organization name) parameters for an operator to configure course level organization name. This will enable learners to share certificate in to LinkedIn with an option for course associated organization to be autopopulated.
2025-10-07 16:02:08 -04:00
Navin Karkera
718dac1e7b refactor: include container display name in children api (#37429)
This helps us avoid additional API calls just to fetch display name of
the container block that is being previewed.
2025-10-07 14:42:57 -05:00
Feanil Patel
d484910052 Merge pull request #37364 from openedx/final-dj52
feat!: Upgrading to `django52`.
2025-10-07 12:47:11 -04:00
Feanil Patel
2e8a19b829 Merge pull request #37416 from eduNEXT/dmh/fix-profile-url-legacy
fix: Profile MFE redirection issue (URL path override)
2025-10-07 11:41:06 -04:00
Muhammad Farhan Khan
5c759f1e13 refactor: Update and migrate Video Block JS files into xmodule/assets
- Move Video Block JS files from xmodule/js/src/video/ to xmodule/assets/video/public/js/ 
- Update JavaScript files from  RequireJS to ES6 import/export
- test: Enable and fix Karma Js tests for Video XBlock (#37351)

---------

Co-authored-by: salmannawaz <salman.nawaz@arbisoft.com>
2025-10-07 19:01:50 +05:00
Muhammad Sameer Amin
e80317d814 Merge pull request #37424 from openedx/sameeramin/upgrade-enterprise-integrated-channels-904b6c1
feat: Upgrade Python dependency enterprise-integrated-channels
2025-10-07 12:45:16 +05:00
Usama Sadiq
9bf7dfa758 chore: python requirements upgrade 2025-10-07 09:57:41 +05:00
Usama Sadiq
0c8e35415d fix: add Djang<6.0 local constraint 2025-10-07 09:43:50 +05:00
Usama Sadiq
148a233bde Merge branch 'master' into final-dj52 2025-10-07 09:30:06 +05:00
Usama Sadiq
242a69d06b Fix upgrade job pin cryptography (#37436)
* fix: pin cryptography to fix the upgrade job
* fix: pin pact-python<3.0.0
---------

Co-authored-by: edX requirements bot <49161187+edx-requirements-bot@users.noreply.github.com>
2025-10-07 09:27:24 +05:00
Rodrigo Mendez
0c9997ce92 feat: Implementation of library v2 backup endpoints 2025-10-06 18:13:02 -04:00
Rômulo Penido
913598076c fix: add default to target_collection_slug (#37391)
adds a default `None` value to the `target_collection_slug` parameter of the migration rest API endpoint, to prevent a `KeyError`.
2025-10-06 13:53:58 -05:00
Rômulo Penido
815fd443bb fix: fix fork on multiple migrations (#37422)
Fixes a bug where, when running a migration using the fork strategy, it was only looking at the last migration, resulting in a slug reuse, which would cause a component update instead of a new component creation.
2025-10-06 12:30:11 -05:00
Kyle McCormick
8b6a94bc8d fix: Only update downstream_customized for upstream-linked blocks (#37412)
We only need to track field customizations for upstream-linked (i.e.,
library-linked) blocks. Thd downstream_customized field is irrelevant for other
blocks. It would just add a ton of noise to the OLX.

Additionally, we now clear downstream_customized when severing an upstream
link.

Fixes: https://github.com/openedx/edx-platform/issues/37411
2025-10-06 11:33:25 -04:00
Feanil Patel
9ee56dee85 Merge pull request #37423 from openedx/feanil/cleanup_dead_files
build: Drop unused docker compose and sql files.
2025-10-06 11:02:12 -04:00
Feanil Patel
c0ce868365 Merge pull request #37380 from openedx/feanil/move_user_util
feanil/move user util
2025-10-06 10:37:14 -04:00
Feanil Patel
e4aafc4249 Merge pull request #37361 from mitodl/marslan/6604-configurable-allowed-hosts
fix: make ALLOWED_HOSTS configurable through YAML
2025-10-06 10:35:38 -04:00
Usama Sadiq
f0733114db Merge branch 'master' into final-dj52 2025-10-06 14:43:09 +05:00
Kyle McCormick
0c77083e3a revert: fix: support parsing the pointer-tag OLX for external XBlocks (#37426)
This reverts commit d382721cf8,
which seems to break edx-platform's ability to load the content of externally-
defined xblocks (e.g. lti_consumer) from course exports.
2025-10-03 15:57:26 -04:00
M. Tayyab Tahir Qureshi
d382721cf8 fix: support parsing the pointer-tag OLX for external XBlocks (#37133)
Previously, the built-in XBlocks (problem, video, etc) could be parsed
from pointer tag syntax, but externally-defined XBlocks (drag-and-drop,
ORA, etc.) could only be parsed from inline syntax. This is because the
built-in blocks have special parsing logic, defined in XmlMixin,
which is not available to external blocks.

This PR shifts the pointer tag parsing "up a level" such that the parent
blocks parse the pointer tag, regardless of whether the child is built-in
or external:
* vertical (aka unit)
* split_test (aka content experiment)
* itembank (aka problem bank)
* library_content (aka randomized legacy library)

The following parent blocks still lack support for external pointer-tag children;
we will fix this in a follow-up PR:
* randomize
* all externally defined container blocks

Part of: https://github.com/openedx/XBlock/issues/823
2025-10-03 11:54:30 -04:00
Feanil Patel
c943c223b4 Merge pull request #36982 from WGU-Open-edX/refactor-36961-unify-certificate-apis
feat: add unified certificate task API with support for toggle, gener…
2025-10-03 11:46:16 -04:00
sameeramin
154c224e54 feat: Upgrade Python dependency enterprise-integrated-channels
Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
2025-10-03 14:34:26 +00:00
Feanil Patel
4090e41f51 build: Drop unused docker compose and sql files. 2025-10-03 10:17:19 -04:00
Feanil Patel
904b6c133a Merge pull request #37413 from openedx/feanil/fix_docs_build
fix: Fix the docs build.
2025-10-03 10:01:03 -04:00
Feanil Patel
3b6a1857d0 Merge pull request #34408 from openedx/aansari/survey-mobile-view-fix
fix: survey questions options alignment in mobile view
2025-10-03 09:03:18 -04:00
Awais Qureshi
daf5320981 Merge branch 'master' into final-dj52 2025-10-03 15:30:49 +05:00
Braden MacDonald
245b861e01 fix: reindex_studio could crash if an XBlock child isn't loadable (#37177)
Co-authored-by: Chris Chávez <xnpiochv@gmail.com>
2025-10-02 18:22:28 -07:00
Rômulo Penido
1aa862738e feat: adds new fork migration strategy (#37408)
Implements the `fork` strategy, allowing the user to create new copies while migrating courses/legacy libraries to v2 libraries.
2025-10-02 19:35:41 -05:00
Tim McCormack
df1d91e8ca chore: Upgrade Django to 4.2.25 to pick up security patch (#37418)
This is from running `make upgrade-package package=Django`
2025-10-01 18:06:11 -04:00
Deimer M
d87ba47643 fix: Profile MFE redirection issue (URL path override)
This error was occurring because the way the redirect URL was constructed caused the entire base path to be removed. This commit updates the URL construction method to correctly preserve the MFE's path.
2025-10-01 12:10:58 -05:00
Feanil Patel
c95f4dee3f Merge pull request #37410 from openedx/feanil/geoip2-bot-update-country-database-a0b4f81
Update GeoLite Database
2025-10-01 13:03:59 -04:00
feanil
54a116f3d5 chore: geoip2: update maxmind geolite country database 2025-10-01 12:28:35 -04:00
Feanil Patel
d0140a25b9 fix: Fix the docs build.
The docs settings file needed an update for a new djangoapp that was
added. Long term we need to probably think more deeply about how we want
the LMS/CMS docs builds to work.  Do we want to separate them, or make
it easier to have a django settings file that will work with both.  For
now, we have a single settings file that is referenced for the docs
build so it needs to have all the installed apps from both.
2025-10-01 12:08:50 -04:00
Maxwell Frank
7fc88d5a25 feat: extend program dash endpoint to b2c (#37387) 2025-10-01 11:38:05 -04:00
Feanil Patel
8d95c32021 Merge pull request #37341 from raccoongang/nanai/axm-2159/add-redirects
feat [FC-86]: add redirects to mfe for catalog-related legacy pages
2025-10-01 09:00:47 -04:00
Feanil Patel
a0b4f81686 Merge pull request #37384 from santhosh-apphelix-2u/master
chore: remove unused mockprock devDependency
2025-09-30 09:52:38 -04:00
Serhii Nanai
6c31268a9d test: use ENABLE_CATALOG_MICROFRONTEND from settings 2025-09-30 11:00:43 +03:00
Serhii Nanai
7b127a4885 refactor: use get_link_for_about_page, remove duplicate function 2025-09-30 10:22:12 +03:00
Serhii Nanai
d6a2942ad0 refactor: switch to global mfe state check 2025-09-30 10:22:12 +03:00
Serhii Nanai
75b7a83dc6 feat: add redirects to mfe for catalog-related legacy pages 2025-09-30 10:22:12 +03:00
Santhosh Kumar
5549dcd43f Merge branch 'master' into master 2025-09-30 08:44:57 +05:30
Chris Chávez
51bfd3febe feat: Add blockType to xblockPreview & title to xblock_iframe [FC-0097] (#37362)
- Adds `blockType` and `is_modified` to the `showXBlockLibraryChangesPreview` iframe message.
- Add title to the `xblock_iframe`
- Add `is-modified` to `studio_xblock_wrapper`
- Add `disable_staff_debug_info` as a query param in `render_xblock`
- `downstream_is_modified` added to ComponentLink and ContainerLink
2025-09-29 23:27:32 +00:00
Feanil Patel
d34a6b9c6f Merge pull request #37342 from raccoongang/nanai/axm-2166/update-link-generation
feat [FC-86]: update course_about & catalog link generation
2025-09-29 15:28:41 -04:00
github-actions[bot]
3f4458593f feat: Upgrade Python dependency edx-enterprise (#37390)
Upgrade python requirements

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

Co-authored-by: brobro10000 <82611798+brobro10000@users.noreply.github.com>
Co-authored-by: Hamzah Ullah <hamzahullah@yahoo.com>
2025-09-29 11:16:09 -04:00
Serhii Nanai
cb4dcb02bd test: fix test overrides 2025-09-29 15:40:55 +03:00
Serhii Nanai
13f450ff29 fix: use getattr in use_catalog_mfe 2025-09-29 15:03:41 +03:00
Serhii Nanai
e2d50f5b4d test: fix ENABLE_CATALOG_MICROFRONTEND look up in tests 2025-09-29 14:47:22 +03:00
Serhii Nanai
02b87247a1 refactor: move filter out of if, extract about_base_url 2025-09-29 14:34:44 +03:00
Serhii Nanai
b448b0fe69 fix: look up ENABLE_CATALOG_MICROFRONTEND in settings directly, adjust tests 2025-09-29 14:16:46 +03:00