Commit Graph

6278 Commits

Author SHA1 Message Date
Serhii Nanai
fa2eddb775 docs: update docstring for prerequisite course serializer 2025-08-28 17:58:06 +03:00
Andrii
42d30601b2 fix: remove redundant test which breaks everything 2025-07-04 15:50:16 +03:00
Andrii
722c73f771 refactor: add missing docstrings, rename * remove some fields 2025-06-27 18:51:21 +03:00
Andrii
3c47f1cc47 refactor: fix prerequisites source 2025-06-24 15:07:25 +03:00
Andrii
ca437883b7 refactor: add some fields to serailizer for FE & update API docstring 2025-06-19 17:55:14 +03:00
Andrii
c43e1be4a8 feat: extend courseware api with new fields 2025-06-03 18:17:41 +03:00
Braden MacDonald
334c0fee51 feat: REST API to publish the changes to a container in a library (#36543)
* feat: REST API to publish the changes to a container

* fix: trigger LIBRARY_CONTAINER_UPDATED when component published
   for components in containers.

---------

Co-authored-by: Jillian Vogel <jill@opencraft.com>
2025-04-17 22:05:44 -07:00
David Ormsbee
fd7ce0e273 feat: record the user for library content writes (#36513)
We were previously not recording who was doing write/delete/reset operations.
Prior to openedx-learning 0.23.0, we didn't have a place to write the user for a
reset-to-publish.

Upgrades the openedx-learning pin, 0.22 -> 0.23
2025-04-16 20:17:05 +00:00
Ahtisham Shahid
af40ac0feb feat: update preference config when version is changed (#36518) 2025-04-16 15:39:22 +05:00
Braden MacDonald
336fb018fb feat: support pasting units from courses into libraries (#36516)
* fix: don't allow pasting xblocks with children into libraries
* fix: IntegrityError: "Column 'md5_hash' cannot be null"
* feat: allow pasting a unit from a course into a library
* feat: auto-generate a nice block_id when pasting into a library
* test: add test for pasting unit from course into library
* fix: better handle potentially missing display_names during paste
* chore: clarifications and import cleanups
2025-04-15 15:25:46 -07:00
Rômulo Penido
1047ed4d5b feat: collections support for containers [FC-0083] (#36504)
Adds support for adding Containers to Collections.
2025-04-15 13:12:51 -05:00
Hassan Raza
694bf77993 fix: Remove code for group new comment notification (#36501) 2025-04-15 12:21:39 +05:00
Muhammad Adeel Tajamul
ee8eeae55c feat: prevent sending course update, recurring nudge and upgrade reminder email to disabled users (#36514) 2025-04-14 18:11:01 +05:00
Hassan Raza
b14ff9ea8d fix: Update ORA notification type for grouper (#36517) 2025-04-14 15:02:25 +05:00
Navin Karkera
b893b23ce9 feat: post component height to parent window [FC-0083] (#36477)
XBlock rendered in an iframe in frontend-app-authoring needs to resize automatically based on component size.

Updates xblock iframe template to post message to parent window on size change.
2025-04-11 18:01:36 +00:00
Jillian
11bab7d2ed refactor!: use LibraryCollectionLocator and LibraryContainerLocator [FC-0083] (#36476)
efactors the content_libraries.api to use LibraryCollectionLocator and LibraryContainerLocator keys, instead of passing separate LibraryUsageKeyV2 keys along with the collection/container locators.

Renames misleading uses of collection_usage_key to collection_locator, including in the content_libraries.api and content.search.api method names and parameters.

This change impacts Developers, but should not affect end users.

This refactoring seems reasonable to do without going through deprecation, given the minimal use of these APIs.
2025-04-11 10:21:58 -05:00
Chris Chávez
dc4144ec95 feat: add restore container API, delete index when deleting container (#36464) 2025-04-10 15:15:53 -07:00
Muhammad Umar Khan
b9556211be chore: fix cache content size calculation error (#36511)
Co-authored-by: M Umar Khan <umar.khan@A006-01609.local>
2025-04-10 15:22:28 +05:00
Hassan Raza
0acc44fbcd fix: Enable ORA new submissions course notification preference (#36449)
* fix: Enable ORA new submissions course notification preference

* fix: update edx-ora2 version
2025-04-10 13:32:54 +05:00
Rômulo Penido
a0d99315ad feat: container support for tags [FC-0083] (#36484)
* feat: container tag support

* fix: fixes from review

* docs: fix typo
2025-04-10 11:14:54 +05:30
Feanil Patel
488891c5ca Merge pull request #36436 from openedx/feanil/remove_courseware_sock
feat!: Remove the course sock and related APIs.
2025-04-09 10:14:09 -04:00
Hassan Raza
40c82c2ff4 feat: Group ora staff notifications (#36440)
* feat: Group ora staff notifications

* fix: Revert default change for ora staff notifications

* fix: update edx-ora2 version
2025-04-09 14:34:07 +05:00
Muhammad Adeel Tajamul
7cb3196a1a feat: prevent sending notification digest email to disabled users (#36498) 2025-04-08 11:24:26 +05:00
Tim McCormack
6c638572a7 test: Delete flaky test test_rate_limiting_registration_view (#36491)
Deleted out of `RegistrationViewTestV1` although the failure was observed
in `RegistrationViewTestV2` which inherits from it.

Deleted according to flaky test process:
https://openedx.atlassian.net/wiki/spaces/AC/pages/4306337795/Flaky+Test+Process

Flaky test ticket:
- https://github.com/openedx/edx-platform/issues/36490
2025-04-07 14:52:39 -04:00
Feanil Patel
1829eb7d71 feat!: Remove the course sock and related APIs.
DEPR: https://github.com/openedx/edx-platform/issues/36429

This change removes the course_sock and related API data.  The UI it
removes is on the Legacy Courseware pages which have also been replaced
and have their own [deprecation ticket](https://github.com/openedx/edx-platform/issues/35803)

Before this can be merged, we will need to update the
frontend-app-learning MFE to no longer consume the
`can_show_upgrade_sock` attribute.

BREAKING CHANGE: CourseHomeMetadata, ProgressTab, OutlineTab and
VerifiedMode APIs will no longer have a `can_show_upgrade_sock`
attribute.
2025-04-07 10:29:39 -04:00
Jillian
94468ef4b3 Finishes refactoring libraries APIs [FC-0083] (#36468)
Addresses libraries API TODOs introduced by https://github.com/openedx/edx-platform/pull/36371
2025-04-07 14:17:04 +00:00
Taimoor Ahmed
0595e5a57d fix: legacy forum issues (#36470)
Co-authored-by: Taimoor  Ahmed <taimoor.ahmed@A006-01434.local>
2025-04-07 19:04:14 +05:00
Feanil Patel
cdf26039e6 test: Remove reference to the courseware url.
The courseware URL is going away but it's just used here to test the
middleware.  That can be test with other urls that are relevant to this
middleware.

Note, I was unable to re-produce the failures so I've put back using the
standard `reverse` logic for fetching the URL in the test.
2025-04-04 14:01:19 -04:00
Feanil Patel
d423775012 test: Replace calls to reverse('courseware')
We want to remove this page and URL endpoint so we're removing all the
references in the code that might point to this page.  It was replaced
by the sequences page in the Learning MFE years ago but the old pages
were never cleaned up. We are replacing the calls with the URL for the
courseware in the learning MFE.

See https://github.com/openedx/edx-platform/issues/35803 for more
details.
2025-04-04 14:01:19 -04:00
Hassan Raza
bf2959e8fc fix: Optimize queries for Course Notification Preferences Admin (#36479) 2025-04-04 15:32:45 +05:00
sarina
1e3074a3f9 docs: Update edx.rtd.io links to docs.openedx.org 2025-04-02 12:10:56 -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
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
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
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
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
Hassan Raza
dc548edeca fix: user unsub preference removal on email enable through account preferences (#36451) 2025-03-27 16:15:40 +05: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
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
Ali Salman
65cf7a9288 fix: legacy discussion issues (#36433)
Explicitly passed course_id to all views
2025-03-24 14:26:22 +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
Muhammad Noyan Aziz
ca463f918d SONIC-917: Added pluggable_override on `get_program_price_info` util (#36382)
* feat: add override for one click purchase eligibility

* refactor: remove extra line

* chore: move service worker inside util

* refactor: pylint issue

* fix: pylint errors

* fix: pycodestyle

---------

Co-authored-by: Muhammad Noyan  Aziz <noyan.aziz@A006-01474.local>
2025-03-20 15:37:17 +05:00
Taimoor Ahmed
0d4281aa2e fix: discussion xblock not compatible with forum v2 (#36315)
fix all endpoints that were currently breaking with the discussion xblock.

Co-authored-by: Taimoor  Ahmed <taimoor.ahmed@A006-01434.local>
2025-03-20 12:17:39 +05:00
Hassan Raza
033bcda99d Hraza/add embargo restricted country (#36398)
* feat: add country disabling feature in embargo app

* revert: disabled countries list in env

* fix: resolved linter issues

---------

Co-authored-by: Hassan Raza <h.raza@192.168.1.12>
2025-03-19 12:22:45 +05:00
Muhammad Umar Khan
4195186b04 chore: skip data caching for blockstructure content more than or equal to 2MB (#36397)
Co-authored-by: M Umar Khan <umar.khan@A006-01609.local>
2025-03-18 14:05:10 +05:00