Commit Graph

75 Commits

Author SHA1 Message Date
SaadYousaf
bef05ab664 feat: add tracking event for following post 2023-10-14 02:00:34 +05:00
Ahtisham Shahid
22e2a23b9f feat: add new notifiction type for discussions post followers (#33009)
feat: added model for subscription

feat: added logic for notifaction to followers
2023-10-12 13:03:02 +05:00
Muhammad Adeel Tajamul
3aeaec35d9 feat: added notifications in legacy discussion experience (#33280) 2023-09-21 08:04:02 +05:00
Ahtisham Shahid
aec8fcd559 fix: use disabled as default for posting_restrictions (#33159) 2023-09-05 15:44:10 +05:00
Muhammad Adeel Tajamul
4efd54a3fd feat: added new_question_post and new_discussion_post notification (#33043) 2023-08-31 14:29:21 +05:00
Ahtisham Shahid
b477a20ad2 Added notifications for discussions events (#32432)
* feat: added notifications for discussions app

* feat: added unit tests for handler

* feat: updated openedx-events package

* fix: updated notification creation logic and tests

* refactor: updated openedx-event version and event name

* refactor: moved logic to separate methods
2023-07-06 13:33:20 +05:00
ayesha waris
abac77e106 feat: adds ability to disable posting in discussions indefinitely (#32171)
* feat: adds ability to disable posting in discussions indefinitely

* test: fixed ffailing test cases

* test: added new model field in test cases

* refactor: removes unnecessary migrations

* refactor: removed previous migrations and adds new field in discussions api

* refactor: added docstring and changed method name

---------

Co-authored-by: ayesha waris <73840786+ayeshoali@users.noreply.github.com>
2023-05-23 15:08:06 +05:00
Muhammad Adeel Tajamul
2f036e2df6 feat: added edit_by_label and closed_by_label in threads response (#32070) 2023-04-19 19:55:10 +05:00
SaadYousaf
32e792d1f4 feat: add differentiation for tracking in-context and mfe events 2023-03-09 07:32:00 +05:00
Muhammad Adeel Tajamul
9f7bba85fc feat: added reverse_order param in comments sort (#31667)
Co-authored-by: adeel.tajamul <adeel.tajamul@arbisoft.com>
2023-02-13 12:58:13 +05:00
0x29a
fd191db332 refactor: rename module (or item) -> block within remaining lms
Also, removed `_iter_scorable_xmodules` method from `lms/djangoapps/grades/transformer.py` file.
2023-01-30 18:15:23 +01:00
Arunmozhi
d417a7561f refactor: rename ItemFactory to BlockFactory 2023-01-23 14:47:47 +01:00
Robert Raposa
6c7618fed0 fix: remove flaky test_staff_response test
The test test_staff_response failed and then passed
and subsequent runs with the same code, and is now
considered flaky. It is being removed in accordance with
this flaky test process: https://2u-internal.atlassian.net/wiki/spaces/TE/pages/12812492/Flaky+Test+Process
Note: the Flaky+Test+Process doc should probably be more
public, but simply notes that these tests should be removed
with a ticket to allow the owning team to fix it.

Here is a link to the job where it failed and passed: 
https://github.com/openedx/edx-platform/actions/runs/3752596945/jobs/6375603154
2022-12-21 16:35:12 -05:00
ayesha waris
ecc9a7c3e3 Merge pull request #31336 from openedx/INF-628
fix: course_staff and course_admin added in get_course api
2022-12-01 16:35:13 +05:00
Mehak Nasir
8be2b7355b fix: thread will only be returned for matching course ID (#31340) 2022-12-01 16:17:19 +05:00
ayeshoali
1363fcb501 fix: test cases fixed 2022-12-01 14:36:57 +05:00
SaadYousaf
c0631c320e fix: legacy coverage and add missing properties for reported events 2022-11-17 13:03:47 +05:00
SaadYousaf
17df3d4e17 feat: add discussion reported and unreported events 2022-11-01 15:57:13 +05:00
SaadYousaf
c79c41e0a3 fix: filter out discussion topics that have not started yet for instructor paced courses 2022-10-13 23:15:46 +05:00
Ahtisham Shahid
c2696c07fc fix: updated topic sorting for discussions MFE (#31124)
* fix: updated topic sorting for discussions MFE

* feat: updated topic sorting test case
2022-10-13 15:09:19 +05:00
Saad Yousaf
3423feb4fd Revert "fix: filter out discussion topics that have not started yet."
This reverts commit 54b5d59fc3.
2022-10-08 14:58:14 +05:00
SaadYousaf
54b5d59fc3 fix: filter out discussion topics that have not started yet. 2022-10-07 15:17:12 +05:00
SaadYousaf
6aca8abe87 feat: add event for edited content in discussions 2022-10-03 15:00:03 +05:00
SaadYousaf
85a8b39735 feat: add event for content deletion for discussions 2022-09-21 13:20:58 +05:00
Muhammad Adeel Tajamul
1259c0e7a5 fix: sort order will not be alphabetical (#30990)
Co-authored-by: adeel.tajamul <adeel.tajamul@arbisoft.com>
2022-09-19 12:24:46 +05:00
SaadYousaf
b8e466b55c fix: update editable action item for different discussion and course roles 2022-09-19 11:51:24 +05:00
Ahtisham Shahid
eca87000c4 Created a edx.forum.thread.locked event (#30964)
* feat: added new discussions event edx.forum.thread.locked
2022-09-15 11:18:32 +05:00
Kshitij Sobti
6ebc9b3888 feat: Track additional discussion context for better deletion handling (#30140)
Tracks a discussion topics' section and subsection in a new context field so that we have access to that information when the topic's section/subsection/unit has been deleted. This is then used when a topic is deleted to append the section and subsection name to the topic title.

ADR: https://github.com/openedx/edx-platform/pull/29928
2022-09-13 16:01:25 +05:00
Muhammad Adeel Tajamul
8c13fae0ff feat: backend change for copy post functionality for discussions post (#30941)
Co-authored-by: adeel.tajamul <adeel.tajamul@arbisoft.com>
2022-09-12 12:31:57 +05:00
Saad Yousaf
fb716a76d9 fix: allow discussion moderators to unreport their content (#30938)
Co-authored-by: SaadYousaf <saadyousaf@A006-00314.local>
2022-09-05 18:39:46 +05:00
SaadYousaf
495d1cc86c fix: add is_group_ta and has_moderations_privileges to course settings API 2022-08-24 12:04:27 +05:00
SaadYousaf
257a7f38d3 feat: enable moderators to unreport content for discussion api 2022-07-27 19:30:52 +05:00
adeel.tajamul
7d6ce90213 fix: fixed topics test cases 2022-06-22 06:25:40 +05:00
Kshitij Sobti
f3f604c25f fix: Disallow endorsements for replies to comments (#30310)
Disables the "endorsement" action for nested comments. Only top-level comments should support endorsement.
2022-04-25 16:13:10 +05:00
Kshitij Sobti
1ea90d8843 fix!: supply the editor and closing user as separate params to cs_comments_service (#30230)
The forum service doesn't get the requesting user id for any operation, only the user id of the content creator. So to apply a different user id for an editor or post closing user, those need to be explicitly passed.
2022-04-14 16:21:55 +05:00
Abdurrahman Asad
56cef9cb6a fix: add field to check if user is admin (#30089)
fix: add field to check if user is admin
2022-03-21 11:36:33 +05:00
Kshitij Sobti
f3b89770e0 feat: add support for specifying and retrieving moderation reason codes from the LMS settings (#30015)
Reason codes will be used by the frontend to list and validate the reasons for specifying moderation actions.

Co-authored-by: Kshitij Sobti <kshitij@opencraft.com>

Co-authored-by: Felipe Trzaskowski <felipe@opencraft.com>
2022-03-18 11:13:30 +05:00
Felipe Trzaskowski
6bfb741c4a feat: add edit_reason_code and close_reason_code (#29609)
Add `edit_reason_code` field to both `Comments` and `Threads`, making it
editable for anyone who can also edit `raw_body`.

Add `close_reason_code` field to `Threads`, and make it editable by
anyone who can also edit `closed`.
2022-03-16 17:02:47 +05:00
Maxim Beder
7e742e2042 feat: add flag to toggle learners tab (#29955) 2022-03-07 11:14:45 +05:00
Kshitij Sobti
f7df694c5f feat: add provider info to the discussion configuration API (#29864)
The new discusions MFE needs to know which provider is in use (legacy or new) to deliver the expected experience. This adds the provider name and other relevant configuration to the discussion configuraiton API.
2022-02-28 11:23:28 +05:00
Michael Terry
b905de757b test: more Old Mongo removal from tests
Convert more tests from MONGO_AMNESTY to SPLIT modulestores.

This is in preparation for just wholesale denying access to Old
Mongo, so I either converted tests to split or just deleted some
test variants that were Old Mongo specific. (e.g. ddt lines)
2022-02-11 14:50:30 -05:00
Michael Terry
cb1bb7fa64 test: switch default test store to the split store
It's long past time that the default test modulestore was Split,
instead of Old Mongo. This commit switches the default store and
fixes some tests that now fail:
- Tests that didn't expect MFE to be enabled (because we don't
  enable MFE for Old Mongo) - opt out of MFE for those
- Tests that hardcoded old key string formats
- Lots of other random little differences

In many places, I didn't spend much time trying to figure out how to
properly fix the test, and instead just set the modulestore to Old
Mongo.

For those tests that I didn't spend time investigating, I've set
the modulestore to TEST_DATA_MONGO_AMNESTY_MODULESTORE - search for
that string to find further work.
2022-02-04 14:32:50 -05:00
Kshitij Sobti
2758301c31 feat: Discussion Topics API v2 [BD-38] [TNL-9332] [BB-5189] (#29530)
* feat: New API for discussion topics

Creates a new API for discussion topics that uses auto-crated discussion topic links for the new discussion provider.

* squash!: refresh migration
2022-01-31 15:57:49 +05:00
Felipe Trzaskowski
c0e19ec165 Add new discussions API endpoints to retrieve comments and threads from an user [BD-38] [TNL-8796] [BB-4969] (#29137)
* feat: add api mapping to get comments by course+user

fix: merge the new user comments API by overloading the thread comments API

fix: handle endorsements and fix broken tests

fix: improve the view documentation

fix: unused imports

fix: restrict flagged filter to privileged users

fix: validate course_id properly

* fix: add docstring to the retrieve_all method
2022-01-04 11:21:47 +05:00
Kshitij Sobti
606fb95059 feat: return user roles and privilege information in course metadata (#29448)
The frontends need to be aware of a user's privileges in order to know what operations are supported. This adds the user roles and privilege information to the discussion metadata API.
2021-12-06 11:21:25 +05:00
Maxim Beder
eabd6e8019 feat: add anonymous settings to discussions api (#28981)
If course allows anonymous posts, and user is an author of a post, add
`anonymous` to posts' editable fields.
If course allows anonymous to peers posts, and user is an author of a
post, add `anonymous_to_peers` to posts' editable fields.

Course endpoint response to get request will now include course's
`allow_anonymous` and `allow_anonymous_to_peers` settings.

Added `anonymous` and `anonymous_to_peers` fields to the content
serializer, from which ThreadSerializer and CommentSerializer inherit.
Both fields have a default value of False, because there are cases where
course configuration doesn't allow them to be initialized (if a course
doesn't allow anonymous posts, the fields won't be included in the list
of initializable/editable fields).
2021-11-02 11:25:40 +05:00
AsadAzam
2b14c3157b Revert "Revert "feat: Add support for returning thread counts for all topics in a course [BD-38] [TNL-8724] [BB-4927] (#29062)" (#29087)" (#29152)
This reverts commit ed74db1daf.
2021-10-29 16:20:48 +05:00
Awais Jibran
ed74db1daf Revert "feat: Add support for returning thread counts for all topics in a course [BD-38] [TNL-8724] [BB-4927] (#29062)" (#29087)
This reverts commit a2f04fb78b.
2021-10-22 17:21:44 +05:00
Kshitij Sobti
a2f04fb78b feat: Add support for returning thread counts for all topics in a course [BD-38] [TNL-8724] [BB-4927] (#29062)
* feat: Add support for returning thread counts for all topics in a course

In the new discussions experience the thread counts for questions and discussions are displayed in the UI.
This uses a new cs_comments_service API to fetch that data and embed it in the topic listing.

* fix: apply review feedback fixes
2021-10-22 11:22:05 +05:00
Kshitij Sobti
dd6e908635 feat: Add support for pinning and closing threads, adds a preview and a delete check field (#28809)
Adds support for pinning and closing threads to the current REST APIs for discusions.
Adds a preview_body field to the thread response that contains a truncated version of the raw body with tags removed so it can be shown in previews.
Adds a field called "can_delete" to threads and comments that signals if the current user is able to delete that resource.
2021-10-01 19:57:12 +05:00