278 Commits

Author SHA1 Message Date
Muhammad Arslan
e548e924cd fix: remove text from base query_params (#37835) 2026-01-02 20:05:21 +05:00
Ahtisham Shahid
cda62c22db feat: added unfollow behaviour in discussion notification (#37690) 2025-12-08 12:14:00 +05: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
Taimoor Ahmed
56f7da908a fix: send thread_created signal after transaction commit (#37675)
Prevents notification failures with MySQL backend by ensuring signals
are only sent after database transactions commit. This fixes race
conditions where Celery workers couldn't see newly created threads.

- Added send_signal_after_commit() helper function
- Updated both thread creation paths to use the helper

Co-authored-by: Taimoor  Ahmed <taimoor.ahmed@A006-01711.local>
2025-11-26 11:43:45 +05:00
Taimoor Ahmed
86d9b08b5d feat: remove last cs_comments service references (#37503)
This commit removes all remaining references to cs_comments_service
except the ForumsConfig model. The only purpose of keeping the model
and table around is so that the webapp processes don't start throwing
errors during deployment because they're running the old code for a
few minutes after the database migration has run. We can drop
ForumsConfig and add the drop-table migration after Ulmo is cut.

Also bumps the openedx-forum version to 0.3.7

---------

Co-authored-by: Taimoor  Ahmed <taimoor.ahmed@A006-01711.local>
2025-10-23 10:48:39 -04:00
Taimoor Ahmed
4c051378d0 feat!: remove last calls to cs_comments_service (#37376)
This removes the last remaining code that called out to the
cs_comments_service. All forums backend logic now uses the v2 API from
the forum repo (https://github.com/openedx/forum). This does NOT remove
MongoDB support.

This also implements the endpoint to retrieve all comments for a user
using the new forum backend. This is not actually called from any known
frontend code, but it has not been formally deprecated as an endpoint,
and therefore needs to be supported.

As part of the cleanup, the ENABLE_FORUM_V2 course waffle flag has also
been removed, along with all remaining switching logic that used to
route between the Python API in the forum repo and service calls to the
cs_comments_service Ruby service.

Other endpoints affected (switching logic removed):

* get course commentable counts
* get/update course user stats
* update comment/thread/user
* delete thread (implementation moved to forum repo)
* follow
* retire user

This is part of the following overall DEPR ticket:
  https://github.com/openedx/cs_comments_service/issues/437
2025-10-08 11:36:52 -04:00
Ali-Salman29
539666dc40 feat!: remove cs_comments_service support for forum's content APIs
- This will force the use of the new v2 forum's APIs for Threads & Comment.
- Update params for get_user_subscription function. It uses the same structure as we have in the get_user_threads.
2025-09-15 09:10:06 -04:00
ayesha waris
2a2942bc7f feat: automatically follow post when creating comments/responses (#37318)
* feat: automatically follow  post while createing comments/responses

* feat: follow post when a comment or response is created

* test: updated tests

---------

Co-authored-by: Ayesha Waris <ayesha.waris@192.168.10.28>
Co-authored-by: Muhammad Adeel Tajamul <muhammadadeeltajamul@hotmail.com>
2025-09-12 13:10:39 +05:00
Taimoor Ahmed
ed45fbba37 fix: Invalid read param in forum thread api
This PR fixes the invalid read parameter being passed in forum update_thread api.
this was somehow introduced in this commit 6f522f3992 (diff-b9d08209a02c673887f6ca72b0018758174e95508539adbcb6885f22c7844eb8L292)
2025-09-08 11:17:10 -04:00
Mubbshar Anwar
052b930ef5 fix: fix script tag quot escaped (#37296) 2025-08-28 19:01:19 +05:00
Mubbshar Anwar
d2eba789ff fix: fix test_html_tags_removal (#37209) 2025-08-28 11:51:22 +05:00
ayesha waris
58d0839aff fix: added thread id in comment/response reported event (#37276)
Co-authored-by: Ayesha Waris <ayesha.waris@A006-01000.local>
2025-08-27 15:24:22 +05:00
Muhammad Adeel Tajamul
0c47ddf354 feat: removed spaces check for spam urls (#37238) 2025-08-20 05:54:06 +05:00
Muhammad Adeel Tajamul
d59f5b39fe fix: fixed missing course in bulk delete (#37103) 2025-08-04 11:25:50 +05:00
Ahtisham Shahid
c2a86534e6 fix: updated captcha api to use enterprise assessment (#37079)
* fix: updated captcha api to use enterprise assessment
2025-08-03 21:27:12 +00:00
Hassan Raza
4793f883fc chore: Remove notification app waffle flags (#37086) 2025-08-01 14:59:40 +05:00
Muhammad Adeel Tajamul
b658470f8b feat: added configurable ratelimit feature in discussions (#37094) 2025-07-31 17:35:10 +05:00
Ali-Salman29
d29171c046 feat!: remove cs_comments_service support for forum's subscription APIs
- This will force the use of the new v2 forum's APIs for subscriptions.
2025-07-29 10:44:37 -04:00
Eemaan Amir
4e1ba65183 fix: added captcha exception for limited staff (#37077) 2025-07-29 15:42:09 +05:00
Eemaan Amir
24181468ec feat: showing captcha only for learners and not other roles (#37061)
* feat: showing captcha only for learners and not other roles

* test: added test cases

* fix: fixed pylint errors

* fix: fixed a bug with comment creation

* refactor: refactored code

* fix: fixed lint errors

* fix: fixed bug with utils

* test: added test case
2025-07-28 17:07:26 +05:00
Muhammad Adeel Tajamul
7af4b644d0 temp: added logs to debug issue in bulk delete count (#37073) 2025-07-28 14:33:48 +05:00
Muhammad Adeel Tajamul
4d76c5ded0 refactor: updated bulk delete api task (#37068) 2025-07-25 11:07:39 +05:00
Ahtisham Shahid
47d253a1fe chore: added logs to debug captcha issues (#37066) 2025-07-24 19:45:40 +00:00
Muhammad Adeel Tajamul
082819cca2 chore: added tracker event for bulk delete posts api (#37060) 2025-07-23 12:21:43 +05:00
Muhammad Adeel Tajamul
01beca4ebb chore: added waffle for allowing only verified users to create post (#37051) 2025-07-22 14:59:54 +05:00
Muhammad Adeel Tajamul
ef6dbd9e03 chore: added email verified in course view api (#37046) 2025-07-21 16:32:28 +05:00
Muhammad Adeel Tajamul
989ecfe5a0 feat: added endpoint for priviledged roles to delete threads of a user (#37030)
* feat: added endpoint for priviledged roles to delete threads of a user

* chore: moved forum calls to django comment common app

* fix: fixed nits
2025-07-21 09:43:55 +05:00
Bryann Valderrama
a807d0e280 chore: add missing inline code annotations in events (#36473) 2025-07-18 17:55:54 +02:00
Ahtisham Shahid
25f9397683 fix: use data instead of request.data in comment view set (#37042) 2025-07-17 16:03:36 +00:00
Ahtisham Shahid
cf93ba2974 feat: added captcha validation in discussion thread/comment creation api (#37015) 2025-07-16 18:02:43 +05:00
Muhammad Adeel Tajamul
0a8ec0caab temp: added option to replace spam content with text (#37009) 2025-07-11 22:54:05 +05:00
Muhammad Adeel Tajamul
f8c5cecefc feat: added feature to remove spam urls from discussion content (#37007) 2025-07-11 14:10:33 +05:00
Hassan Raza
a60b8f8d2c chore: Track 'notify all learners' option in event data (#36962)
* chore: Track 'notify all learners' option in event data

* fix: unit test
2025-06-30 14:54:11 +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
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
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
ayesha waris
610906218a fix: stoped group TA to see the posts of other cohorts (#36765)
* fix: stoped group TA to see the posts of other cohorts

* test: updated test cases

---------

Co-authored-by: Ayesha Waris <ayesha.waris@192.168.10.31>
2025-05-22 18:55:22 +05:00
Muhammad Adeel Tajamul
bfdba3c914 chore: added email_content in content reported notification (#36758)
* chore: added email_content in content reported notification

* fix: fixed test cases
2025-05-20 17:15:02 +05:00
jawad khan
a84ad87f4b fix: Adjusted discussion notification context for mobile (#36304)
* fix: Adjusted discussion notification context for mobile
2025-03-03 10:44:47 +05:00
Usama Sadiq
b6828cecaa fix: enable pylint warnings (#36195)
* fix: enable pylint warnings
2025-01-30 17:15:33 +05:00
jawad khan
76cceaa298 feat: Populate notification context with post, comment and response ids (#36008)
* feat: Populate notification context with post, comment and response ids
2024-12-20 15:23:47 +05:00
Régis Behmo
065adf398e feat: reapply forum v2 changes (#36002)
* feat: Reapply "Integrate Forum V2 into edx-platform"

This reverts commit 818aa343a2.

* feat: make it possible to globally disable forum v2 with setting

We introduce a setting that allows us to bypass any course waffle flag
check. The advantage of such a setting is that we don't need to find the
course ID: in some cases, we might not have access to the course ID, and
we need to look for it... in forum v2.

See discussion here: https://github.com/openedx/forum/issues/137

* chore: bump openedx-forum to 0.1.5

This should fix an issue with index creation on edX.org.
2024-12-12 12:18:33 +05:00
Diana Huang
818aa343a2 Revert "feat: Integrate Forum V2 into edx-platform"
This reverts commit 70b60ff256.
2024-12-06 11:19:06 -05:00
Muhammad Faraz Maqsood
70b60ff256 feat: Integrate Forum V2 into edx-platform
This commit introduces the new Forum V2 application, allowing users to choose between the legacy Forum V1 and the new Forum V2 at the course level.

Key Changes:
- Added waffle flag `discussions.enable_forum_v2` to enable Forum V2 for selected courses, allowing coexistence with Forum V1.
- Default data storage for Forum V2 is set to MongoDB, with an option to switch to MySQL using the waffle flag `forum_v2.enable_mysql_backend`.
- Introduced management command `forum_migrate_course_from_mongodb_to_mysql` for per-course data migration from MongoDB to MySQL.

Note: This PR does not include all unit tests for the Forum V2 native API due to ongoing migration efforts. Further updates will follow to ensure full test coverage before final release.

Co-authored-by: [Muhammad Faraz Maqsood] <faraz.maqsood@arbisoft.com>
Co-authored-by: [Ali Salman] <ali.salman@arbisoft.com>
2024-12-03 11:00:51 -05:00
Ahtisham Shahid
0b3d05dda6 chore: removed new comment notification grouping (#35920) 2024-11-27 18:28:07 +05:00
Ahtisham Shahid
4d23866ae4 feat: added grouping for new post notification (#35761) 2024-11-11 16:37:32 +05:00
Muhammad Adeel Tajamul
d72e87d3f3 feat: removed extra spaces from start and end of content (#35647) 2024-10-16 13:58:40 +05:00
Muhammad Adeel Tajamul
7cf12d861c chore: removed style from email digest content (#35592) 2024-10-09 13:56:58 +05:00