* 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>
refactor: move editor_saved to VideoConfigService (#37829)
* This moves edx-platform-specific logic out of the VideoBlock,
in preparation for the VideoBlock extraction
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
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.
* chore: enrollment_date added to csv report and add custom fields method managing
* test: tests added
* fix: pylint fix
* fix: new line at test_basic.py added
* feat: new function added to handle available features with custom fields
* chore: replace include_ parameters with direct feature checks
* feat: type validation for custom attributes added
* chore: site config name and variable updated, attribute fixing erased
* test: tests updated
* feat: change list of color codes
* fix: add missing color
* style: rename attribute for assignment color list
* docs: add explanation for current implementation
* fix: fixing articles
The articles were updated because they pointed to the old documentation.
* fix: updating articles references
The documentation links were pointing to the old documentation and in many cases, these links no longer worked, so we have updated these links to the new documentation.
Prevents notification failures with MySQL backend by ensuring signals
are only sent after database transactions commit. This fixes race
conditions where Celery workers couldn't see newly created threads.
- Added send_signal_after_commit() helper function
- Updated both thread creation paths to use the helper
Co-authored-by: Taimoor Ahmed <taimoor.ahmed@A006-01711.local>
BREAKING CHANGE: All references to the hardcoded 'proctortrack' string have
been removed from the codebase, as well as the `studio.show_review_rules`
waffle flag. These were used to determine whether an escalation email is
required and whether review rules should be shown. These decisions are now made
based on the value of 'requires_escalation_email' (default False) and 'show_review_rules'
(default True) config items in the PROCTORING_BACKENDS entry.
Additionally:
* The proctoring info api will now return the list of providers which require an escalation
email so that frontend-app-learning does not need to use a hardcoded check agaist
the provider name 'proctortrack'.
* Removed translation commands, mock variables and user facing strings that contained
'proctortrack'.
* Updated all test cases that were using proctortrack to use fake providers names.
Part of: https://github.com/openedx/edx-platform/issues/36329
Without this the devstack settings don't correctly proxy the features
updates made to get devstack working.
Co-authored-by: Kyle McCormick <kyle@axim.org>
After applying a "download" property on html5 anchor tag, Download Handout
link in a video component initiates a direct download instead of overlaying
over the video.
Fixed issue: https://github.com/openedx/edx-platform/issues/37081
This commit fixes the incorrect saving of the user's full name in the
credentials service by modifying how the COURSE_PASSING_STATUS_UPDATED
and CCX_COURSE_PASSING_STATUS_UPDATED events are emitted.
Previously, we had been using Django's standard User.get_full_name()
to fetch the user's full name. However, Open edX uses the convention of
storing the full name in user.profile.name and leaves the User's first
and last name fields blank. (This is to better accommodate the wide
range of international conventions regarding names.)