Commit Graph

66833 Commits

Author SHA1 Message Date
sarina
1e3074a3f9 docs: Update edx.rtd.io links to docs.openedx.org 2025-04-02 12:10:56 -04:00
Justin Hynes
61879b8caf fix: ensure we are selecting the correct date for self-paced courses (#36465)
It is possible for self-paced courses to be configured with a display behavior of "END" even though this configuration option should be invalid. The fix to this problem is beyond the scope of this PR. However, we can ensure we are selecting the correct display date for the certificate with a little bit of defensive coding.

I've added a check to ensure that we only use the end date of the course when the course is instructor-paced and configured with a display behavior of "END".
2025-04-02 11:19:59 -04:00
Chris Chávez
1c14c3a518 feat: Update containers in search index on components update/delete [FC-0083] (#36432)
* feat: Added get_containers_contains_component in containers api with tests

* feat: Add publish_status to containers search document

* feat: Add LIBRARY_CONTAINER_UPDATED whend deleted a component inside a container

* feat: Send LIBRARY_CONTAINER_UPDATED signal when updating component of container

* fix: Bugs sending LIBRARY_CONTAINER_UPDATED signal

* feat: Add publish_status of container as PublishStatus.Never by default

* refactor: ContentLibraryContainersTest to use update_container_children to add components

* style: Clean code after fix conflicts

* fix: Broken lint

* fix: lint
2025-04-02 18:46:41 +05:30
Feanil Patel
3bda03fa4b Merge pull request #36463 from openedx/feanil/geoip2-bot-update-country-database-f5c17bb
Update GeoLite Database
2025-04-01 15:47:16 -04:00
feanil
c934166319 chore: geoip2: update maxmind geolite country database 2025-04-01 03:26:11 +00:00
Ihor Romaniuk
f5c17bb88c feat: [FC-0070] add events and style for rendering Split xblock in chromeless template (#35813)
This feature introduces functionalities to improve XBlock interactions within iframes:

  * Add styles that adopt default styles for Split Test which renders chromless template via iframe in MFE Authoring.
  * When the isIframeEmbed option is enabled, the XBlock sends a postMessage to the parent window. When sending such a message, the standard link transition is cancelled and the transition is carried out in MFE Authoring.
2025-03-31 18:31:59 -03:00
Robert Raposa
e5cafb6cc0 docs: fix minor typo (#36216) 2025-03-31 09:23:42 -04:00
Navin Karkera
bcaa79cc38 feat: api for adding, removing and updating components in container (#36434)
* feat: add components to container api

* feat: remove and replace components in container api

* refactor: container childern api

* chore: fix lint issues

* temp: install openedx-learning dev branch

* feat: update publish_status and children count in index

* chore: fix mypy issues

* test: fix reindex test

* refactor: rebase and fix conflicts

* test: update test to check signals

* docs: document can_stand_alone flag

* chore: bump openedx-learning version
2025-03-31 17:40:17 +05:30
jciasenza
bae47af758 fix: updated existing enzyme tests to use react testing library 2025-03-28 17:45:48 -03:00
Deborah Kaplan
896ca99c79 chore: calling other djangoapps from API instead of model (#36448)
switching  from calling other djangoapps via direct model access to
calling from API. This included  adding an API in the Student app.

FIXES: APER-3972
2025-03-28 12:14:21 -04:00
Hina Khadim
3834f20841 fix: sort sections in course-optimizer before returning result (#36441) 2025-03-28 19:34:29 +05:00
Braden MacDonald
1ca57ec129 Basic CRUD REST Endpoints for units in content libraries [FC-0083] (#36371)
* refactor: convert libraries API from attr.s to dataclass, fix types

* fix: make corresponding updates to 'search' code

* feat: use new version of openedx-learning with containers support

* temp: Use opencraft branch of opaquekeys

* refactor: Use LibraryElementKey instead of LibraryCollectionKey

* refactor: split libraries API & REST API up into smaller modules

* feat: new REST API for units in content libraries

* feat: python+REST API to get a unit

* feat: auto-generate slug/key/ID from title of units

* feat: generate search index documents for containers

* refactor: rename LibraryElementKey to LibraryItemKey

* fix: lint error

* feat: adds new units to search index on create/update

and when running reindex_studio.

Updates requirements for openedx-events and openedx-learning to support
these changes.

* fix: pylint

* fix: temp requirement

* fix: search index container events/tasks

* feat: add get_library_container_usage_key to libraries API

and use it when search indexing containers

* fix: index all containers during reindex_studio

* chore: bump openedx-events requirement

* fix: address review comments

* chore: bumps openedx-learning to 0.19.1

* fix: rename api method to library_container_locator

since container keys are locators, not usage keys

* chore: bumps opaque-keys dependency

* test: fix misnamed unit_usage_key

* feat: adds APIs to update or delete a container (#757)

* feat: adds python and REST APIs to update a container's display_name
* refactor: adds _get_container method to api to reduce code duplication
* feat: adds python and REST APIs to delete a container
* test: add container permission tests

---------

Co-authored-by: XnpioChV <xnpiochv@gmail.com>
Co-authored-by: Jillian Vogel <jill@opencraft.com>
Co-authored-by: Rômulo Penido <romulo.penido@gmail.com>
2025-03-28 18:55:04 +05:30
Ahtisham Shahid
79f33a670a fix: notification count only for web (#36459) 2025-03-28 13:13:20 +00:00
Tim McCormack
1303965a29 feat: Also set MPLCONFIGDIR to make matplotlib complain less (#36456)
Example output from running `import matplotlib; 1/0`, before and after the change:

```diff
--- tmp/before	2025-03-28 03:34:06.633689552 +0000
+++ tmp/after	2025-03-28 03:34:37.268688891 +0000
@@ -1,6 +1,5 @@
-Matplotlib created a temporary cache directory at /tmp/codejail-hveq16ah/tmp/matplotlib-tv0c_vzt because the default path (/home/sandbox/.config/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.
 Traceback (most recent call last):
   File "jailed_code", line 19, in <module>
     exec(code, g_dict)
   File "<string>", line 1, in <module>
 ZeroDivisionError: division by zero
```
2025-03-28 07:31:50 -04:00
Mubbshar Anwar
f32b08b753 feat: add new param in url (#36458)
Add new param in ecommerce url to calculate program price based on course keys

SONIC-918
2025-03-28 14:19:36 +05:00
Muhammad Faraz Maqsood
646c2ac898 fix: move links with status None to forbidden link
- move external links with status None to external forbidden links
- also modified the tests that fails for previous code
2025-03-28 12:19:12 +05:00
Muhammad Umar Khan
c6f75dfd2e chore: use pickle to compute collected_blocksture size before cacheing (#36455)
Co-authored-by: M Umar Khan <umar.khan@A006-01609.local>
2025-03-27 21:01:25 +05:00
Jansen Kantor
5e61a1d959 feat: allow transcripts to work with more than two-letter language codes (#36419)
* feat: allow transcripts to work with more than two-letter language codes

* style: quality

* fixup! Merge branch 'master' into jkantor/video-transcript-codes

* fix: s/LANGUAGES_DICT/LANGUAGE_DICT/
2025-03-27 11:30:44 -04:00
Justin Hynes
f99b89c8c5 feat: update date selection logic when rendering course certs (#36447)
Fixes: https://github.com/openedx/platform-roadmap/issues/423

This PR updates the logic for determining the issued date shown on course certificates. For courses with a display behavior set to 'end date of the course', certificates earned by learners will now show the course run’s end date as the issued date.
2025-03-27 08:41:38 -04:00
renovate[bot]
215cfb5731 chore(deps): update dependency selenium-webdriver to v4.30.0 (#36454)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-27 12:24:40 +00:00
Hassan Raza
dc548edeca fix: user unsub preference removal on email enable through account preferences (#36451) 2025-03-27 16:15:40 +05:00
Muhammad Umar Khan
9f5500a7f4 chore: use zpickle to compute collected_blocksture size before cacheing (#36452)
Co-authored-by: M Umar Khan <umar.khan@A006-01609.local>
2025-03-27 13:30:03 +05:00
irfanuddinahmad
dc8896ee73 Merge pull request #36444 from openedx/irfanuddinahmad/upgrade-edx-enterprise-bf53eaa
feat: Upgrade Python dependency edx-enterprise
2025-03-26 11:31:55 +05:00
Muhammad Faraz Maqsood
9706caed6a chore: remove braze client settings from edx-platform 2025-03-26 11:21:56 +05:00
Muhammad Faraz Maqsood
591008280f chore: rename braze_client to email_client 2025-03-26 11:21:56 +05:00
irfanuddinahmad
f7e037e340 feat: Upgrade Python dependency edx-enterprise
feat: external_identifier added as url param in course_run_url

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
2025-03-26 04:49:41 +00:00
Rodrigo Martin
bf53eaa9bb fix: video transcript links wrapping up (#36428) 2025-03-25 10:56:23 -03:00
Deborah Kaplan
ce8d3211f9 chore: improving programs rest API docs, type hints (#36438)
* chore:  improving programs rest API docs, type hints

reformatting the docstrings  so they appear correctly in the  openAPI
docs.
* moving them into the `GET`
* some cleanup and simplification of language
* removing real data that refers to specific hosts

regenerated the open API documentation.

also adding type hints to the API and telling `mypy`  to check this
file.  This was primarily because these models are confusing enough in
order to verify that the documentation was correct I had to do a lot of
jumping through the code.

FIXES: APER-3950
2025-03-25 09:39:25 -04:00
Muhammad Faraz Maqsood
2b83fe3bf4 Revert "chore: rename braze_client to email_client"
This reverts commit b3f9903a4b.
2025-03-25 17:38:32 +05:00
Muhammad Faraz Maqsood
fc1b608f17 Revert "chore: remove braze client settings from edx-platform"
This reverts commit d1318836ab.
2025-03-25 17:38:32 +05:00
leoaulasneo98
1dfe43af76 Edx platform 35175 deprecate assert dict contains subset (#36236)
* fix: replace deprecated assertDictContainsSubset with assertEqual
2025-03-25 14:58:16 +05:00
Muhammad Faraz Maqsood
d1318836ab chore: remove braze client settings from edx-platform 2025-03-25 10:31:32 +05:00
Muhammad Faraz Maqsood
b3f9903a4b chore: rename braze_client to email_client 2025-03-25 10:31:32 +05:00
iloveagent57
5858be028b feat: Upgrade Python dependency edx-enterprise
quiets braze import error logging

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
2025-03-24 14:36:51 -04:00
Hassan Raza
57c1115791 fix: Resolve digest email on new enrollment after one click email unsubscribe (#36365) 2025-03-24 22:09:47 +05:00
Deborah Kaplan
3136134be8 chore: move the program dashboard APIs (#36420)
Moves the Program Dashboard APIs out of the deprecated remnants of the legacy learner dashboard, into the Programs djangoapp.

Keeps the old legacy routes for this API, left over from the deprecated remnants of the legacy learner dashboard, alongside future-proofed routes which will work when the deprecated, legacy Program Dashboard is eventually replaced with functionality in the Learner Dashboard MFE.

FIXES: APER-3949
2025-03-24 12:06:52 -04:00
Muhammad Umar Khan
43493c79ca chore: add monitoring on collected_blockstructure_size (#36435)
Co-authored-by: M Umar Khan <umar.khan@A006-01609.local>
2025-03-24 17:01:04 +05:00
Hina Khadim
de62ca70ac fix: replace is_locked with linkState to handle various link types in Course Optimizer (#36406) 2025-03-24 16:41:17 +05:00
Ali Salman
65cf7a9288 fix: legacy discussion issues (#36433)
Explicitly passed course_id to all views
2025-03-24 14:26:22 +05:00
jesperhodge
eb03cfbe53 feat: Upgrade Python dependency edx-enterprise.
Adds foreign key to ECU table. Run management command from version 5.9.2 before deploying this to ensure good migration performance.

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
2025-03-21 11:03:38 -04:00
edX requirements bot
93a3853a27 chore: Upgrade Python requirements (#36421)
* chore: Upgrade Python requirements
* fix: pin xmlsec to 1.3.14 version
* fix: pin social-auth-core version
* docs: add the issue to unpin constraints

---------

Co-authored-by: Usama Sadiq <usama7274@gmail.com>
2025-03-21 15:27:46 +05:00
Saad Yousaf
811fe1ba48 fix: make course optimizer specific changes to user task completion email 2025-03-21 15:13:24 +05:00
Ahtisham Shahid
cab3ef46b4 fix: enable core notification pref editing (#36327)
fix: enable core notification pref editing
2025-03-21 14:51:43 +05:00
Muhammad Umar Khan
ae6b9c1b4a chore: add monitoring on blockstructure_size (#36424)
Co-authored-by: M Umar Khan <umar.khan@A006-01609.local>
2025-03-21 14:41:19 +05:00
Ahtisham Shahid
9775ceff2b fix: Account level preference visibility WRT roles (#36391)
fix: Account level preference visibility WRT roles
2025-03-21 14:19:33 +05:00
Tim McCormack
2009e8972c feat: Set TMPDIR for codejail executions (#36412)
This makes it easier to run matplotlib in codejail, and should prevent a
number of other issues in the future with other packages that need to
create tempfiles.

No change is required for existing codejail installations, but after this
change operators may be able to tighten their apparmor configuration to
prevent write access to global temp or cache dirs.

Manual testing instructions: Create a codejail problem that runs
`import matplotlib` and confirm that it runs without error. (Unit tests
aren't feasible here because this requires a fully configured codejail in
order for the tmp subdirectory to exist.)

Also: Add comment for `OPENBLAS_NUM_THREADS` and numpy support.
2025-03-20 15:41:43 -04:00
Kyle McCormick
f8775087a3 docs: Nix "service-oriented" (#36417)
In acknowledgement of the architectural direction of the
openedx codebase over the past 4 years.
2025-03-20 13:58:43 -04:00
Feanil Patel
46503e4466 Merge pull request #36383 from openedx/robrap/remove-eslint
style: remove eslint with frontend code removal ADR
2025-03-20 13:00:26 -04:00
Andres Malagon
4638615f31 Unpin Click - issue #35279 (#36191)
* build: unpin click
2025-03-20 20:59:40 +05:00
Robert Raposa
399be67fc4 style: remove eslint with frontend code removal ADR
- Add ADR for frontend code removal
- Drop eslint, as explained in the ADR
2025-03-20 11:03:41 -04:00