Commit Graph

5761 Commits

Author SHA1 Message Date
kshitij.sobti
9ee4afaaf1 fix: use a single 'provider_type' key for storing discussion provider type in course
Both 'provider' and 'provider_type' have been used for storing the discussion provider type in course 'discussions_settings' field, there are some places in the code checking for 'provider' and others checking for 'provider_type', in some cases this can cause a bug where it doesn't detect the correct provider which causes discussion settings not being copied correctly when a course is cloned.

This change prioritises the `provider_type` setting over `provider` and reads `provider` only as a fallback. The `provider` setting is now made read-only just for backwards-compatibility, to avoid confusion.
2025-07-06 17:38:38 +05:30
Muhammad Adeel Tajamul
c812297eb1 fix: create preferences for all types instead of core (#36984) 2025-07-04 14:45:56 +05:00
Ahtisham Shahid
cfe40599bf feat: added API to get account level preferences (#36957)
* feat: added API to get account-level preferences

* feat: added update api for account level preferences (#36978)
2025-07-04 13:04:28 +05:00
KEVYN SUAREZ
a0bb77a6d8 fix: commerce and enrollment error handling and ux (#36612)
Returns HTTP 400 for disallowed enrollments instead of HTTP 500.
Prevents infinite loading spinners on the enrollment page.
Displays clear error messages to users before redirection.
Ensures consistent and meaningful responses from enrollment API endpoints.

* fix: commerce and enrollment apis return 403 when enrollment not allowed

* fix: now both apis send the right message and http code when enrollment fails

* fix: InvalidEnrollmentAtribute as final exception to catch and HTTP 400 returned

* style: the message is displayed as a popup instead of creating a div at the end

* fix:  import not used removed for pylint checks

* style: popup now use utility classes

* refactor: use const instead of let for existing const

* refactor: textContent const structure changed due check failed

* refactor: SetTimeout settled as arrow function

* feat: button incorporated to bring users enough time to read the message

* refactor: ErrorStatuses defined at the top of the file to use it in conditionals

* style: typo fixed

Co-authored-by: Diana Olarte <dcoa@live.com>

* refactor: double validation of redirectUrl eliminated and better styling of the message

Co-authored-by: Diana Olarte <dcoa@live.com>

* refactor: redirectUrl param eliminated in showmessage function, close button redirects to dashboard always

* docs: remove unused redirectUrl param from JSDoc and explain hardcoded URL

* style: endline added

* feat: enrollmentNotAllowed exception added in views and the js

* docs: comment added to especify exception

* style: endline added

* refactor: error statuses velidation changed to one single validation instead of two

* refactor: function added to handle enrollment errors

* feat: enrollmentNotAllowed exception added for API coherence and consistency

* style: empty line added

* style: pylint check line too long disabled

---------

Co-authored-by: Diana Olarte <dcoa@live.com>
2025-07-03 12:36:14 +02:00
Muhammad Adeel Tajamul
113f0ff7e4 feat: added support to use account level preferences with email digest (#36976) 2025-07-03 12:04:47 +05:00
Muhammad Adeel Tajamul
f996ed7c16 feat: skip saving non_editable in db notification preferences (#36968) 2025-07-03 11:32:59 +05:00
Ahtisham Shahid
498dd56fec feat: added account level preference model in notification task (#36858)
feat: added account level pref model in notification task

feat: added handler for preference creation on user signup

feat: added unit tests for account level preferences

* fix: removed app level check in notifications

* fix: updated flaky test
2025-07-01 14:09:02 +05:00
Navin Karkera
b27c41cc8c fix: updating search index on container delete and restore (#36956)
Update children and parents index data on container delete and restore.
2025-06-30 17:59:07 +00:00
jawad khan
e101298fed feat: send mobile push notifications (#36272)
* feat: send mobile braze notifications

* fix: fixed pylint issues

* feat: Added push_notification flag and preferences

* fix: fixed pylint issues

* fix: Moved braze logic to edx-ace

* fix: Un delete admin file

* fix: Added review suggestions

* fix: Added review suggestions

* fix: updated migration file

* fix: Removed all braze references from changes

* fix: fixed test cases

* fix: removed braze metnion in code

* fix: fixed migration file issue

* fix: Added review suggestions

* fix: bumped edx-ace version
2025-06-30 10:48:48 +05:00
Hassan Raza
8fac3bc060 feat: Add notify all learners option for discussion post (#36922)
* feat: Add notify all learners option for discussion post

* fix: Remove waffle flag from default notification dict
2025-06-27 15:25:22 +05:00
Ali-Salman29
e0fbb96ee7 feat!: remove cs_comments_service support for forum's search APIs
This will force the use of the new v2 forum's APIs for searching.
2025-06-26 13:18:56 -04:00
Muhammad Adeel Tajamul
3806f9f4f0 chore: added immediate email event (#36950) 2025-06-26 13:50:47 +05:00
Krish Tyagi
3895044c72 fix!: Remove deprecated CookieNameChange middleware (#36815)
The CookieNameChange middleware has been removed. Originally a temporary
measure slated for removal by October 1, 2021, it facilitated a transitional cookie
migration pattern that is no longer required. 

This action addresses DEPR: 
https://github.com/openedx/edx-platform/issues/36834
2025-06-25 19:38:43 -04:00
Paulo Viadanna
31218a5681 fix: unhide discussions when enabling it 2025-06-25 09:04:26 -04:00
Navin Karkera
2c2721436d feat: container links api (#36911)
Adds list api to fetch container library links information. S
2025-06-24 17:20:53 +00:00
Chris Chávez
a9abb116f0 feat: Add tags_count to ContainerMetadata (#36883) 2025-06-23 12:10:03 -05:00
Taimoor Ahmed
b4897ed39e fix: Discussion following posts filter
This PR fixes following filter on the discussions module by replacing  forum api to  api since we only need threads that are subscribed/followed by the requesting user.
2025-06-23 09:04:37 -04:00
Ahtisham Shahid
e4e8565084 feat: added account level user preferences model and migration command (#36811) 2025-06-19 13:54:24 +00:00
Maria Grimaldi
31ef780365 fix: redirect to account MFE when using any legacy account URL (#36894)
* fix: redirect to account MFE when using any legacy account URL

Redirect to the account MFE URL configured each time a legacy
account URL like http(s)://lms/account/ or http(s)://lms/account/settings
is used to avoid 404 errors while linking SSO accounts or simply
trying to access the account view via URLs.
2025-06-18 15:44:19 +02:00
sundasnoreen12
2dd3df49c0 fix: fix spacing issue 2025-06-13 14:52:25 +05:00
sundasnoreen12
842e0d41f5 fix: removed hardcoded URLs 2025-06-13 12:45:45 +05:00
sundasnoreen12
3703333d9e test: fix test case 2025-06-13 12:45:36 +05:00
sundasnoreen12
6219c1768f feat: implemented self paced email UI 2025-06-13 12:45:36 +05:00
Arslan Ashraf
d6dbc4075c fix: generate IDV URL only if ACCOUNT_MICROFRONTEND_URL is available (#36898)
The api/courseware/course fails for all the verified enrollments if you
are not using Account MFE, which means that you probably won't set
ACCOUNT_MICROFRONTEND_URL in your settings/configurations.
So this PR adds a check safely try to do rstrip.

Fixes a bug in https://github.com/openedx/edx-platform/pull/36870
2025-06-12 12:13:37 -04:00
Eemaan Amir
0a7d894981 feat: removed age restriction on profile image upload (#36857)
* feat: removed age restriction on profile image upload

* test: updated test files

* test: updated test files

* fix: fixed lint issues

* test: updated test files

* fix: fixed lint issues
2025-06-12 10:56:46 +05:00
Chris Chávez
a274db0912 feat: Send events when update containers [FC-0090] (#36866)
* Send `LIBRARY_CONTAINER_UPDATED` for containers that contains the updated unit/section when calling update_container
2025-06-09 11:09:16 -05:00
Javier Ontiveros
89e3d189ca fix: strip end slash if any when using a subpath (#36870)
While trying to be enrolled on a verified course, the upgrade process
gets to an error screen due to a double slash on the URL that it's added
while doing the redirection to the account microfrontend

Will be backported to Teak.
Part of https://github.com/openedx/wg-build-test-release/issues/468
2025-06-09 15:12:08 +00:00
Awais Qureshi
291c5c3a44 feat!: upgrade code and fix get_storage_class ( compatibility django42 and django52) (#36628)
* feat!: upgrade codebase for compatibility with Django 4.2 and 5.2.
2025-06-05 10:11:07 -04:00
Jansen Kantor
f58c6f04fa fix: wrap sequence metadata view in bulk actions contextmanager (#36854)
* fix: wrap sequence metadata view in bulk actions contextmanager

* style: line too long
2025-06-04 16:52:09 +00:00
Feanil Patel
3d664b0ae8 Merge pull request #36609 from musanaeem/musa/admin-revamp-dropdowns
Single Select Autocomplete Added to Student Admin
2025-06-04 11:37:29 -04:00
Ahtisham Shahid
c080f96da2 fix: Updates task in topics sync API (#36853)
fix: Updates task in topics sync API
2025-06-04 08:30:48 +00:00
musanaeem
7c6b3ae92c fix: removed redacted import 2025-06-03 17:24:24 -04:00
musanaeem
d7eea9d37a fix: Remove complex change 2025-06-03 17:24:18 -04:00
musanaeem
13169fba86 fix: updated json conversion to add custom values 2025-06-03 17:24:12 -04:00
musanaeem
2522bc6ff9 feat: Implemented single and multiselect autocomplete 2025-06-03 17:22:03 -04:00
Chris Chávez
2759d15cca feat: Support to sections/subsections dict to containers objects in index [FC-0090] (#36806)
- Adds the subsections dict in the search index to be used by units
- Adds the sections dict in the search index to be used by sections.
- Rename `get_containers_contains_component` to `get_containers_contains_item` and add support to subsections/sections 
- Call `CONTENT_OBJECT_ASSOCIATIONS_CHANGED` for sections and subsections in `update_container_children`
2025-06-02 12:41:07 -05:00
Muhammad Adeel Tajamul
276e189003 chore: replaced tags in digest template (#36835) 2025-06-02 16:24:06 +05:00
Muhammad Adeel Tajamul
a9c78cd8f7 chore: modified notification digest email UI (#36809)
* chore: modified notification digest email UI

* chore: added icon in settings

* refactor: replaced CADENCE with DIGEST for logo variable
2025-05-29 17:52:28 +05:00
Chris Chávez
c2eb913dcb feat: Basic CRUD support for sections/subsections as containers [FC-0090] (#36762)
- Refactor of `test_containers.py` 8b9731dfa1
- Updates the `content_libraries/api/containers` and `content_libraries/rest_api` to support:
    - Basic CRUD for sections and subsections as containers
    - Basic CRUD support for section and subsection children
- Updates the `content/search` to support:
    - Basic CRUD for sections and subsections as containers in the search index
    - Basic CRUD support for section and subsection children in the search index
- Updates the `content_libraries/tests/test_containers.py` to test the new support
- Updates the `content/search/tests` to test the new support.
- I verified that the add/remove to collection works without major changes. Tests updated
2025-05-28 21:05:45 +00:00
Tim McCormack
4856539b22 fix: Upgrade edx-django-utils, dropping newrelic; fix test and typo (#36799)
This upgrades edx-django-utils to a version that drops the newrelic
dependency. However, I also needed to fix a test that was sensitive to the
number of warnings that the code under test produced. With newrelic gone,
there's an additional warning.

- Fix test so that it isn't sensitive to unrelated warnings
- Fix typo in warning

For reference, this is the new warning:

```
"WARNING:edx_django_utils.monitoring.internal.backends:Could not load OPENEDX_TELEMETRY option 'edx_django_utils.monitoring.NewRelicBackend': Exception('Could not load New Relic monitoring backend; package not present.')"
```

This is expected due to edx-django-utils still defaulting to NR for
telemetry. (Perhaps the subject of a future breaking change.)
2025-05-27 11:32:43 -04:00
Ali-Salman29
c82490393d feat!: remove cs_comments_service support for forum's vote APIs
This will force the use of the new v2 forum's APIs for voting/unvoting.
2025-05-27 10:42:05 -04:00
Muhammad Adeel Tajamul
6a67719592 feat: make notification emails translatable (#36775)
* feat: make notification emails translatable

* fix: fixed failing tests

* fix: fixed xss quality check
2025-05-26 13:44:01 +05:00
Ali-Salman29
6f522f3992 feat!: remove cs_comments_service support for forum's flag APIs
This will force the use of the new v2 forum's APIs for flaging/unflaging.
2025-05-22 10:24:52 -04:00
Tim McCormack
6740e75c0f Merge commit from fork
Allow overriding but prevent download by default.

Also, extract `PYTHON_LIB_FILENAME` Django setting as a shared function
and document the setting.
2025-05-21 14:14:51 -04:00
Ahtisham Shahid
4d035ea3d4 feat: added API to sync discussions topics (#36529) 2025-05-20 20:18:14 +05:00
Muhammad Adeel Tajamul
4e55d72e75 feat: added immediate email notifications (#36749) 2025-05-20 17:15:26 +05:00
Chris Chávez
27c4ea44f2 feat: Add units dict to index [FC-0083] (#36650)
* Adds the units dict to the component search documents.
* Send CONTENT_OBJECT_ASSOCIATIONS_CHANGED signal when add/remove components in units.
2025-05-19 17:34:39 +00:00
Muhammad Abdullah Waheed
2d66047f7c feat: added support of multiple course ids in enrollment API and fixed failing case (#36700)
* feat: added support of multiple course ids in enrollment API and fixed failing case

* refactor: handled course IDs along with course run IDs

* refactor: added dosctring and renamed variable

* fix: added temp mixin

* test: added unit tests of added case
2025-05-14 17:22:48 +05:00
Chris Chávez
2ba9b7977f fix: Issues with get container children [FC-0083] (#36686)
* Fix published param to support strings
* Add published_display_name to children response
2025-05-12 09:44:41 -05:00
Usama Sadiq
956a28996a fix: refactor index_together to indexes for Django 5.2 support (#36693) 2025-05-12 11:46:47 +05:00