Commit Graph

25663 Commits

Author SHA1 Message Date
Troy Sankey
e78223f091 chore: upgrade enterprise-integrated-channels to 0.1.38
Also bump SQL queries by +2 for the test_read_and_update() unit test
which triggers new synchronous signal handlers on grade change. See
https://github.com/openedx/enterprise-integrated-channels/pull/109

ENT-11229
2026-02-04 16:01:42 -08:00
David Ormsbee
9bf7a72a3a refactor: switch to use openedx_content app (#37924)
The openedx-learning repo was recently refactored to consolidate its
authoring apps into a single openedx_content app:

  https://github.com/openedx/openedx-platform/pull/37924

This commit makes the following changes to accommodate this:

- Bumps the openedx-learning version to 0.31.0 to get the changes.
- Creates new migrations in content_libraries, contentstore, and
  modulestore_migrator to foreign key references to authoring apps
  to point to the new openedx_content app. This is done without
  actually making database changes, since the openedx_content app
  models are taking over the existing tables that the authoring apps
  once pointed to.
- Creates new squashed migrations in these apps that create these
  foreign keys to reference openedx_content app models from the start.

The full rationale for how and why this was done is in the following
openedx-learning ADR:

  https://github.com/openedx/openedx-learning/blob/main/docs/decisions/0020-merge-authoring-apps-into-openedx-content.rst

These migrations should run fine from either a from-scratch scenario
(i.e. a new install or CI), or when upgrading from an Ulmo-or-later
database state. If you have a database state that comes from the middle
of the Ulmo development cycle (e.g. October 2025), you may encounter
migration errors in content_libraries, contentstore, or
modulestore_migrator, with an error message complaining about missing
tables. If you receive this message, run the following command:

  python manage.py lms migrate openedx_content 0001

Then try to run the migrations for the app that failed. Repeat if
necessary for multiple apps.
2026-02-04 12:41:13 -05:00
Feanil Patel
18113c63af test: update Jest snapshots for @edx/paragon 2.6.4 → 2.7.0
The caret version pinning change updated @edx/paragon from 2.6.4 to
2.7.0, which caused Icon component IDs to change from "Icon2" to
"Icon1" in snapshot tests.

This is a cosmetic change with no functional impact. The Icon
component generates unique IDs using a module-level counter in
src/utils/newId.js:

    let lastId = 0;
    const newId = (prefix = 'id') => {
      lastId += 1;
      return `${prefix}${lastId}`;
    };

The ID values depend on module import order, which changed slightly
between versions. The visual rendering and accessibility features
(screen reader text) are unaffected.

References:
- Paragon Icon component: https://github.com/edx/paragon/blob/v2.7.0/src/Icon/index.jsx
- Paragon newId utility: https://github.com/edx/paragon/blob/v2.7.0/src/utils/newId.js
- Version comparison: https://github.com/edx/paragon/compare/v2.6.4...v2.7.0

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 11:54:05 -05:00
Akanshu Aich
50da280144 fix: handle CourseOverview.DoesNotExist exception in optout creation (#77) (#37885)
User retirement failed when CourseOverview records were missing, causing CourseOverview.DoesNotExist exceptions
in bulk email signal handler. These records were missing when the course was deleted.

Solution:

Add exception handling in force_optout_all signal handler:
- Wrapped Optout.objects.get_or_create() in try/except block
- Log warning and skip enrollment when CourseOverview is missing.
2026-01-30 19:08:37 +00:00
wgu-jesse-stewart
6cb2ea3cf1 docs: add adr and schema for enrollment api (#37846) 2026-01-29 16:36:31 -07:00
Daniel Wong
abc0853e1b fix: add missing staff_ora_grading_url field to ORA list endpoint (#37937) 2026-01-29 10:36:38 -07:00
Deimer M
bf056af1c4 fix: remove unnecessary help urls tokens 2026-01-28 13:38:52 -05:00
Javier Ontiveros
12029c7c11 feat: add unit extensions list endpoint for instructor dashboard v2 api (#37783)
Add a new endpoint to get the unit extensions for a course. Update edx-when from 3.0.0 to 3.1.0 in order to get data necessary for response.

---------

Co-authored-by: Daniel Wong <danieleduardo.wongfa@wgu.edu>
2026-01-27 11:11:41 -07:00
Daniel Wong
0b14be613d fix: set correct final grade value for ORA summary endpoint 2026-01-22 10:40:23 -05:00
Irtaza Akram
5b1951228e refactor: Move score_render to lms/grades (#37884)
* fix: move score_render to lms
2026-01-21 17:13:33 +05:00
Daniel Wong
f65d423c77 feat: add Instructor Dashboard ORA summary API v2 (#37858) 2026-01-20 15:32:06 -05:00
Akanshu Aich
2d82d90279 refactor: migrated FEATURES dict settings to top-level in core files and fixed related test files. (#37389)
* refactor: moved remaining feature dicts settings into top-level settings.

* refactor: moved remaining feature dicts settings into top-level settings.

* fix: fixed the test files

* fix: fixed tehe pylint errors

* fix: fixation of the cms ci failure

* fix: fixed remaining feature settings for cms

* fix: added fix for requirements

* fix: added fix for lms tests

* fix: resolved the test views issue

* fix: configured views file and test_views

* fix: fixed lint errors and assertion issues

* fix: added fix for base url issue in test view

* fix: added fix for base_url and assertion issue

* fix: added configurations for base utl fix

* fix: handled none issue for mfe config

* fix: corrected override settings in test views

* fix: added getattr defensive technique for view settings

* fix: reverted views and test_views file

* fix: added settings in views file

* fix: added with patch within functions in test view

* fix: rearranged the features in default_legacy_config

* fix: fixing the tests  with clearing cache

* fix: reverted test views to verify the CI check

* fix: added cache clear in mfe config test

* fix: fixed the patch toggles to override settings

* fix: fixed the lint errors

* fix: changed patch toggle to override settings
2026-01-20 11:55:26 -05:00
Daniel Wong
761739020b feat: add Instructor Dashboard ORA list API v2 (#37853)
* feat: add Instructor Dashboard ORA list API v2
2026-01-20 09:27:04 -05:00
M. Tayyab Tahir Qureshi
a6c3c3236d chore: make the tests run for both BuiltIn and Extracted LTI Blocks (#36020) 2026-01-19 16:07:06 +05:00
Taylor Payne
97f95fd441 refactor: hoist annotations for common settings (#37888) 2026-01-15 10:30:19 -07:00
Ahtisham Shahid
d71d46e313 Revert "refactor: hoist annotations for common settings with differing values…" (#37883)
This reverts commit d49de134d5.
2026-01-14 15:08:04 +00:00
jawad khan
99e7492b5e Removed DEFAULT_HASHING_ALGORITHM from lms (#37820)
* chore: Removed DEFAULT_HASHING_ALGORITHM from lms

* fix: removed session_hash_verified from session verification
2026-01-13 18:13:52 +05:00
salmannawaz
af55715eba chore: convert mako template into django template 2026-01-12 11:57:34 +05:00
Taylor Payne
d49de134d5 refactor: hoist annotations for common settings with differing values (#37800) 2026-01-09 13:07:12 -07:00
Awais Qureshi
54c10bc728 chore: all apis converted to DRF so require_post_params (#37091)
* chore: all apis converted to DRF so `require_post_params` is not required.
2026-01-09 12:30:39 -05:00
Nathan Sprenkle
e45ae329e7 feat: add toggle for unifying site & translation language (#37854) 2026-01-09 11:59:03 -05:00
Taylor Payne
7111e8b18c refactor: bring common settings into common module (#37746) 2026-01-09 09:20:59 -07:00
Daniel Wong
7f1f8767a8 docs: instructor ORA api spec (#37775)
* docs: instructor ORA api spec
2026-01-08 16:30:26 -07:00
Daniel Wong
cd6faeb966 Follow-up to PR 36789 (#37751)
* refactor(certificates): replace direct model imports with data classes and APIs

* fix: use Certificates API to create certificates

* docs: update docstring for get_certificate_for_user

* fix: remove trailing whitespace

---------

Co-authored-by: coder1918 <ram.chandra@wgu.edu>
Co-authored-by: Deborah Kaplan <deborahgu@users.noreply.github.com>
2026-01-08 13:03:46 -05:00
Irtaza Akram
474dc71f0d chore: remove legacy problem studio view (#37795)
* fix: remove legacy problem studio view and resource templates
2026-01-08 13:07:15 +05:00
Muhammad Farhan Khan
0b628353ef refactor: move editor_saved to VideoConfigService (#37829)
refactor: move editor_saved to VideoConfigService (#37829)
* This moves edx-platform-specific logic out of the VideoBlock,
in preparation for the VideoBlock extraction
2026-01-08 11:50:08 +05:00
Irtaza Akram
d29b0473f4 fix: align pylint fixes in edx-platform Problem XBlock with extracted xblocks-contrib/problem (#37758)
* fix: pylint issues for problem xblock
2026-01-07 16:39:11 +05:00
Irtaza Akram
33cc1a94ba chore: upstream ProblemBlock exceptions and shared utilities to XBlock (#37806)
* fix: add support for xblock 5.3.0
2026-01-07 13:30:53 +05:00
Muhammad Arslan
e548e924cd fix: remove text from base query_params (#37835) 2026-01-02 20:05:21 +05:00
Ahtisham Shahid
85fc7207be feat: added buffer to immediate email notification (#37741) 2026-01-02 17:48:01 +05:00
salmannawaz
2aeac45994 Convert discussion block sass variable into css variables (#37742)
* chore: convert discussion sass variable into css variables
2025-12-30 23:13:47 +05:00
Muhammad Farhan Khan
360a97fdd3 refactor: Move available_translations into VideoConfigService (#37808)
This moves edx-platform-specific logic out of the VideoBlock,
in preparation for the VideoBlock extraction:
openedx#36282
2025-12-26 18:56:57 +05:00
Feanil Patel
00f72bb41e Merge pull request #37504 from Pearson-Advance/felipeb/learning-microfrontend-url-site-aware
feat: make LEARNING_MICROFRONTEND_URL site aware.
2025-12-23 10:58:34 -05:00
Muhammad Farhan Khan
277481f741 chore: remove unused/legacy translation method from video block
Remove unused/legacy translation method from video block
2025-12-22 17:57:52 +05:00
wgu-jesse-stewart
2c53232c5d docs: add instructor api v2 ADR/OpenAPI spec for course info and grading (#37743) 2025-12-17 13:19:55 -07:00
farhan
1208d6c1f6 chore: remove unused/legacy translation method from video block 2025-12-17 14:06:32 +05:00
Feanil Patel
18c541e848 Merge pull request #37721 from WGU-Open-edX/feature/37713-instructor-dashboard-course-info-api
FEAT: Instructor Dashboard - Course Info - API - Add missing content
2025-12-16 11:54:59 -05:00
Brian Buck
11fd2225e6 fix: Fix OpenAPI schema generation
Fix OpenAPI schema generation for GET /api/instructor/v2/courses/{course_id} to properly show documentation.
2025-12-16 09:20:45 -07:00
Brian Buck
88f2856c82 feat: Adds the bulk_email tab for staff level users in CourseInformationSerializer v2 serializer.
Rename v2 InstructorTaskSerializer to InstructorTaskSerializerV2

Rename v2 CourseInformationSerializer to CourseInformationSerializerV2
2025-12-16 09:20:45 -07:00
Brian Buck
baaa666435 fix: Fixes a bug in OpenAPI schema generation
Fixes a bug in OpenAPI schema generation that would fail due to overlapping namespaces between v1 and v2 APIs
2025-12-16 09:20:45 -07:00
Brian Buck
81bdfdd8d2 feat: Adds course_run field to CourseInformationSerializer v2
Adds sort_order field to tabs JSON in the tabs list in CourseInformationSerializer v2 serializer

Move course_run below course_number and also move the serializer method.

Auto-format removing extraneous white space.

Add trailing commas to the instructor course tabs list to improve the diff going forward.

Add comment about sort order
2025-12-16 09:20:28 -07:00
Javier Ontiveros
6c8a3af6b9 feat: instructor dashboard - added graded subsections endpoint (#37708)
* feat: added extensions v2 endpoint

* chore: move new api related things to new v2 files

* chore: cleanup

* chore:  codestyle fixes

* chore: manual codestyle fix

* chore: better class naming

* chore: fixed trailing new lins

* chore: better response for bad learner id

* chore: fixed comments

* chore: fixed linting issues

* chore: commit fixes

* feat: add GET graded subsections endpoint

* chore: fixed lint issue

* chore: pylint fixes

* chore: lint fix

* chore: lint fixes

* chore: lint fix

* chore: lint fix

* chore: updated JsonResponse to Response for consitency

* chore: syntax fix after rebase

* chore: re-added url after master rebase
2025-12-15 12:26:35 -05:00
Leonardo Beroes
70ea641c99 feat: Improve robust score rendering with event-based architecture
This commit implements a comprehensive solution for test score integration in the
enhancement system along with improvements to the score rendering mechanism. Key
changes include:

- Add event handler for rendering blocks with edx-submissions scores
- Implement event-based mechanism to render XBlocks with scoring data
- Create signal handlers in handlers.py to process external grader scores
- Develop specialized XBlock loader for rendering without HTTP requests
- Add queue_key propagation across the submission pipeline
- Register submission URLs in LMS routing configuration
- Add complete docstrings to score render module for better code maintainability
- Add ADR for XBlock rendering with external grader integration
- Add openedx-events fork branch as a dependency in testing.in
- Upgrade edx submission dependency

These changes support the migration from traditional XQueue callback HTTP requests
to a more robust event-based architecture, improving performance and reliability
when processing submission scores. The included ADR documents the architectural
decision and implementation approach for this significant improvement to the
external grading workflow.
2025-12-15 09:01:40 -05:00
Usama Sadiq
e1747f3844 build: add support for Python 3.12 (#37160)
* build: add support for Python 3.12
2025-12-15 12:12:29 +05:00
Emad Rad
6a046ebe50 chore: fixed typos 2025-12-11 11:46:44 -05:00
Irtaza Akram
99c6e901d9 Convert Problem Block Mako Templates to Django Templates (#37570)
* fix: convert mako to django templates for problem block

* fix: pylint issues
2025-12-09 19:29:06 +05:00
Ahtisham Shahid
cda62c22db feat: added unfollow behaviour in discussion notification (#37690) 2025-12-08 12:14:00 +05:00
Taylor Payne
d592784b35 refactor: lift shared test settings up to common module (#37714) 2025-12-04 16:50:12 -07:00
Javier Ontiveros
215116028a feat: instructor dash - change due date v2 endpoint (#37685)
* feat: added extensions v2 endpoint
2025-12-03 15:39:15 -05:00
Asespinel
957e254a0a fix: Course search pill not cleared when text deleted. (#37709)
* fix: Course search pill not cleared when text deleted

* chore: fix spacing

Co-authored-by: Feanil Patel <feanil@axim.org>

---------

Co-authored-by: Feanil Patel <feanil@axim.org>
2025-12-03 11:28:49 -05:00