215 Commits

Author SHA1 Message Date
Felipe Bermúdez-Mendoza
b367336d60 feat: make ACCOUNT_MICROFRONTEND_URL site aware. 2026-03-02 08:18:12 -05:00
Ahtisham Shahid
cbdb721db0 Ahtisham/remove core type from notifications (#37868) 2026-01-15 16:37:50 +05:00
Ahtisham Shahid
14e508ea9f feat: added new email template for batched email notification (#37844) 2026-01-13 10:49:12 +05:00
Ahtisham Shahid
2f065bbae4 chore: updated notification settings docs (#37839) 2026-01-07 14:03:33 +05:00
Awais Ansari
7aaf511a38 feat: added batched email template (#37834) 2026-01-05 14:28:08 +05:00
Ahtisham Shahid
85fc7207be feat: added buffer to immediate email notification (#37741) 2026-01-02 17:48:01 +05:00
Ahtisham Shahid
bac7e12b5c feat: make email cadence overrideable from settings (#37822) 2025-12-30 13:10:08 +05:00
Ahtisham Shahid
9d2bbb1797 refactor: removed all references to CourseNotificationPreference (#37768) 2025-12-29 15:11:56 +05:00
Ahtisham Shahid
432926d2dc feat: added option to override default preferences (#37807) 2025-12-24 13:19:11 +05:00
Feanil Patel
00f72bb41e Merge pull request #37504 from Pearson-Advance/felipeb/learning-microfrontend-url-site-aware
feat: make LEARNING_MICROFRONTEND_URL site aware.
2025-12-23 10:58:34 -05:00
Ahtisham Shahid
251ba28770 chore: updated pref settings for misc notification types (#37733) 2025-12-08 13:34:41 +00:00
Ahtisham Shahid
ad513cbd23 fix: removed course_id from notification flag implementation (#37716) 2025-12-03 16:38:17 +05:00
Ahtisham Shahid
c8e6a760f9 feat: add grouping for new response notification (#37674) 2025-12-02 15:21:36 +05:00
Samuel Allan
31e04c9e56 docs: add initial documentation for notifications
- Document the types used in
  COURSE_NOTIFICATION_TYPES and COURSE_NOTIFICATION_APPS.
- Port the wiki page on creating a new notification to the docs here.
- Add some miscellaneous docs and placeholder TODO notes.
- Add a data flow diagram.
- Add a short getting started guide for operators
  (mainly for getting email notifications working).

Private-ref: https://tasks.opencraft.com/browse/BB-10065
2025-11-28 11:45:04 +05:30
Felipe Bermúdez-Mendoza
7c42a600da feat: make LEARNING_MICROFRONTEND_URL site aware. 2025-11-07 07:38:21 +01:00
Tarun Tak
18d5abb2f6 chore: Replace pytz with zoneinfo for UTC handling - Part 1 (#37523)
First PR to replace pytz with zoneinfo for UTC handling across codebase.

This PR migrates all UTC timezone handling from pytz to Python’s standard
library zoneinfo. The pytz library is now deprecated, and its documentation
recommends using zoneinfo for all new code. This update modernizes our
codebase, removes legacy pytz usage, and ensures compatibility with
current best practices for timezone management in Python 3.9+. No functional
changes to timezone logic - just a direct replacement for UTC handling.

https://github.com/openedx/edx-platform/issues/33980
2025-10-28 16:23:22 -04:00
Hassan Raza
515ce7f791 chore: Management command to update preferences (#37297) 2025-09-01 13:08:43 +05:00
Muhammad Adeel Tajamul
acad883a38 fix: added info in notification preferences (#37295) 2025-08-29 11:41:28 +05:00
Eemaan Amir
3b50dbb933 chore: remove edx.notifications.preferences.viewed event (#37285) 2025-08-27 17:04:04 +05:00
Muhammad Adeel Tajamul
abd305df85 feat: added rate limit on one click unsubscribe api (#37272)
* feat: added rate limit on one click unsubscribe api

* fix: fixed failing test

* chore: raise 400 error on invalid username

* fix: fixed pylint
2025-08-27 16:58:06 +05:00
Feanil Patel
bf62862b9f test: Fix notifacitons test for new DRF version.
DRF was swallowing an underlying error string and providing its own
which was being checked for here.

See https://github.com/encode/django-rest-framework/pull/8051 for
details.

The new version fixes that underlying issue and so the test failed.

Rather than checking for the exact string of the 404 which is not
relevant, we now just verify that the error code associated with the
request matches the HTTP response. This should make the test more
resilient to future text changes in the underlying Django function
`get_object_or_404`
2025-08-12 16:08:29 -04:00
Muhammad Adeel Tajamul
e8b58f770e feat: updated one click unsubscribe to use account level preference model (#37161) 2025-08-12 16:44:42 +05:00
jawad khan
e15fa506c0 fix: remove enrollment notification until functionality is live (#37116)
* fix: remove enrollment notification until functionality is live

* fix: updated config version

* fix: fixed test cases
2025-08-05 10:50:45 +05:00
Eemaan Amir
0b4c75c21c chore: cleaned up course level preferences (#37106)
* chore: cleaned up course level preferences

* fix: fixed import issue

* fix: fixed lint errors
2025-08-04 12:20:54 +05:00
Hassan Raza
4793f883fc chore: Remove notification app waffle flags (#37086) 2025-08-01 14:59:40 +05:00
Eemaan Amir
df7583778e chore: added show_prefrences flag to NotificationPreferencesView (#37085) 2025-07-31 18:19:53 +05:00
Hassan Raza
fb124d01f5 feat: add management command to fix 'mixed' values in email_cadence field (#37055) 2025-07-23 13:12:59 +05:00
Hassan Raza
cc2126749a chore: Exclude course staff preferences from general user notifications (#37040) 2025-07-21 15:07:00 +05:00
jawad khan
692caf0f46 feat: Added audit access expiry soon notification (#36414)
* feat: Added audit access expiry soon notification
2025-07-21 14:01:11 +05:00
Ahtisham Shahid
be8a307a22 fix: added manual garbage collection in migration command (#37028) 2025-07-16 19:46:53 +05:00
Ahtisham Shahid
41299128c3 fix: Resolve email_cadence app preference for existing users with old version (#37016)
Co-authored-by: Hassan Raza <h.raza@arbisoft.com>
2025-07-14 14:00:13 +00:00
Hassan Raza
64094da239 chore: Update notification preferences for non-editable push notifications (#37003)
* chore: Update notification preferences for non-editable push notifications

* fix: unit tests
2025-07-11 12:04:25 +05:00
jawad khan
2388112646 chore: Added logs in notification send function (#37005) 2025-07-11 11:46:40 +05:00
Ahtisham Shahid
652fbfcb88 feat: updated management command to use default preferences (#36997) 2025-07-09 12:33:02 +05:00
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
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
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
Muhammad Adeel Tajamul
3806f9f4f0 chore: added immediate email event (#36950) 2025-06-26 13:50:47 +05:00
Ahtisham Shahid
e4e8565084 feat: added account level user preferences model and migration command (#36811) 2025-06-19 13:54:24 +00: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
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
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
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
Muhammad Adeel Tajamul
4e55d72e75 feat: added immediate email notifications (#36749) 2025-05-20 17:15:26 +05:00
Hassan Raza
588840aef5 fix: Resolve group by id max length issue (#36668) 2025-05-07 11:55:00 +05:00