Commit Graph

67710 Commits

Author SHA1 Message Date
Muhammad Farhan Khan
87c825c45f chore: enable word cloud xblock
Enable word cloud XBlock
2025-12-17 22:09:03 +05:00
David Ormsbee
53c25b9cd8 fix: sanitize HTML for course overview & sidebar
The "overview" and "about_sidebar_html" fields in the
CoursewareInformation view (/api/courseware/course/{courseId}) were
returning unsanitized HTML and relying on the client to sanitize it.
This commit shifts that work to the server side (clean_dangerous_html)
to remove potentially dangerous tags when generating the response. The
source of this data is modified in the "Settings and Details" section
of a course in Studio.
2025-12-17 11:02:12 -05:00
github-actions[bot]
ecba02abdd feat: Upgrade Python dependency xblocks-contrib (#37778)
Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`

Co-authored-by: farhan <25842457+farhan@users.noreply.github.com>
2025-12-17 18:19:34 +05:00
Jesus Balderrama
2637cc6b0f feat(numericalInput): endpoint added to validate a numerical input (#37677)
To be used in the visual Problem editor to validate numeric input. 

Part of: https://github.com/openedx/frontend-app-authoring/issues/1680
2025-12-16 17:23:31 -05:00
Chris Chávez
a032955243 feat: New states for library info icon in components in Unit page (#37735)
- Adds `upstream_name` to the `UpstreamLink` dataclass.
- Add new states to library info icon in components in Unit page
2025-12-16 19:18:24 +00:00
Feanil Patel
05d0d0936d Merge commit from fork
fix: CourseLimitedStaffRole should not be able to access studio.
2025-12-16 11:56:16 -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
farhan
e662394398 refactor: Enable word cloud XBlock 2025-12-16 19:01:42 +05:00
M. Tayyab Tahir Qureshi
24cb3cf9f5 refactor: enable the Extracted Annotatable, Poll XBlocks
Enabled the Extracted Annotatable, Poll XBlocks 

---------

Co-authored-by: farhan <farhan.khan@arbisoft.com>
2025-12-16 18:22:57 +05:00
edX requirements bot
610e2ab14b chore: Upgrade Python requirements 2025-12-15 15:44:58 -05:00
farhan
a7fc0c963a fix: Constrain xblocks-contrib until it can be updated. 2025-12-15 15:44:58 -05: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
Navin Karkera
a3cc78a377 fix: handle PluginMissingError while migrating legacy blocks to libraries v2 (#37732)
Unhandled exception while migration legacy xblocks into new library stops the migration process abruptly causing following issues:

* Components not being collected into Collections for successful migrations
* Data being corrupted for already migrated blocks most likely due to incomplete transaction.
2025-12-12 16:47:02 +00:00
ktyagiapphelix2u
e96e6ec684 fix: improving geolite workflow 2025-12-12 10:01:52 -05:00
Feanil Patel
f2bb6cb2e6 fix: CourseLimitedStaffRole should not be able to access studio.
We previously fixed this when the CourseLimitedStaffRole was applied to
a course but did not handle the case where the role is applied to a user
for a whole org.  The underlying issue is that the CourseLimitedStaffRole
is a subclass of the CourseStaffRole and much of the system assumes that
subclesses are for giving more access not less access.

To prevent that from happening for the case of the CourseLimitedStaffRole,
when we do CourseStaffRole access checks, we use the strict_role_checking
context manager to ensure that we're not accidentally granting the
limited_staff role too much access.
2025-12-11 17:15:53 -05:00
Emad Rad
6a046ebe50 chore: fixed typos 2025-12-11 11:46:44 -05:00
Taimoor Ahmed
b76595d610 chore: bump forum version to 0.4.0 (#37731)
Co-authored-by: Taimoor  Ahmed <taimoor.ahmed@A006-01711.local>
2025-12-10 05:09:20 +05:00
edX requirements bot
b6673dcc98 chore: Upgrade Python requirements 2025-12-09 14:31:32 -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
Irtaza Akram
c3e85426cb Autoformat Problem XBlock Source Files for Consistency (2/2) (#37487)
* fix: run prettier on problem block code

* fix: codeql issues
2025-12-08 20:01:42 +05:00
Ahtisham Shahid
251ba28770 chore: updated pref settings for misc notification types (#37733) 2025-12-08 13:34:41 +00:00
Ahtisham Shahid
cda62c22db feat: added unfollow behaviour in discussion notification (#37690) 2025-12-08 12:14:00 +05:00
David Ormsbee
dcd2258db4 fix: don't send emails on library backup/restore
There is no way to resume either the backup or restore library actions,
i.e. if you navigate away from it, you have to do it again. This is a
limitation of the current UI because we wanted to get something quick
and simple in for Ulmo, but it also reflects the fact that library
backup/restore should be much faster than course import/export has
historically been.

In any case, sending an email for a 5-10 second task is unnecessary and
distracting, so this commit suppresses the email.

Note: I'm using local imports to get around the fact that the
content_libraries public API is used by content_libraries/tasks.py
which defines the tasks. I can't import from content_libraries/tasks.py
directly, because that would violate import linter rules forbidding
other apps from importing things outside of api.py. This isn't ideal,
but it keeps the fix small and it keeps the logic in the
content_libraries app.
2025-12-05 12:24:00 -05:00
Irtaza Akram
1945b12769 Autoformat Problem XBlock Source Files for Consistency (1/2) (#37476)
* fix: run formatter black and isort

* fix: linting, pydocstyle, xsslint and security issues
2025-12-05 18:31:45 +05:00
Muhammad Farhan Khan
b57e2ac1ea chore: move get_transcript method to video service (#37635)
https://github.com/openedx/public-engineering/issues/445
2025-12-05 17:53:10 +05:00
Taylor Payne
d592784b35 refactor: lift shared test settings up to common module (#37714) 2025-12-04 16:50:12 -07:00
Chris Chávez
828d10400e feat: Add new fields in modulestore migratior serializers [FC-0112] (#37653)
`target_collection` and `task_uuid` added to migration serializers
2025-12-04 21:48:24 +00:00
github-actions[bot]
55b668bea8 feat: Upgrade Python dependency xblocks-contrib
feat: Upgrade Python dependency xblocks-contrib
2025-12-04 17:12:04 +05: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
Stanislav Lunyachek
0d6c8339b1 fix: Video Xblock - position dropdown menus relative to control bar height 2025-12-03 14:22:40 -03:00
edX requirements bot
101e69d78b chore: Upgrade Python requirements (#37710)
* chore: Upgrade Python requirements

* build: Downgrade edx-submissions for now.

The latest version changes a method signature and so code here will need
to be updated before that can land. There is already a PR to pick up
that change https://github.com/openedx/edx-platform/pull/37528 so it
doesn't seem worth it to add the constraint so just downgrade the
package in this PR so we can land the rest of the updates.

---------

Co-authored-by: Feanil Patel <feanil@axim.org>
2025-12-03 16:55:20 +00:00
github-actions[bot]
86131b1d13 feat: Upgrade Python dependency Django (#37715)
Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`

Co-authored-by: robrap <14576445+robrap@users.noreply.github.com>
2025-12-03 16:55:02 +00: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
KEVYN SUAREZ
6f391d93b9 feat: enrollment_date added to csv report and add custom fields method (#37264)
* 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
2025-12-03 10:43:40 -05:00
M. Tayyab Tahir Qureshi
1fed4be5c9 refactor: Enable the Extracted HTML XBlock (#37669)
In this commit we are rolling out the Extracted HTML XBlock by toggling the
USE_EXTRACTED_HTML_BLOCK flag to True.

Note: The HTML Block subclasses (StaticTab, About, CourseInfo) still use the
built-in code. We'll update it to use the extracted code in a separate PR.

Part of: https://github.com/openedx/edx-platform/issues/37254
2025-12-03 08:49:59 -05:00
Ahtisham Shahid
ad513cbd23 fix: removed course_id from notification flag implementation (#37716) 2025-12-03 16:38:17 +05:00
feanil
c2fad03823 chore: geoip2: update maxmind geolite country database 2025-12-02 14:01:21 -05:00
Serhiii Nanai
0c3d709d63 feat: add assignment color codes to Progress API (#37438)
* feat: change list of color codes

* fix: add missing color

* style: rename attribute for assignment color list

* docs: add explanation for current implementation
2025-12-02 13:52:36 -05:00
Stanislav
82f574ec2c feat: Replace Twitter with X (#36524)
* feat: Replace Twitter with X


---------

Co-authored-by: Turchanikov Arsen <arsen.turchanikov@raccoongang.com>
2025-12-02 10:43:26 -05:00
Ahtisham Shahid
c8e6a760f9 feat: add grouping for new response notification (#37674) 2025-12-02 15:21:36 +05:00
Deimer Morales
a765273cf7 fix: fixing the documentation article links (#37493)
* 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.
2025-12-01 15:40:15 -05:00
github-actions[bot]
74286fe1c5 feat: Upgrade Python dependency xblocks-contrib (#37704)
Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`

Co-authored-by: farhan <25842457+farhan@users.noreply.github.com>
Co-authored-by: Muhammad Farhan Khan <farhan.khan@arbisoft.com>
2025-12-01 14:13:58 +05:00
Peter Pinch
bf536c0ccd Merge pull request #37593 from mitodl/arslan/6850-add-lti-logging
chore(logging): add additional logs for LTI launch flow
2025-11-30 08:55:44 -05:00
Peter Pinch
00d1b52a82 Merge branch 'master' into arslan/6850-add-lti-logging 2025-11-28 15:38:41 -05:00