Commit Graph

30 Commits

Author SHA1 Message Date
Awais Jibran
5f97bc60cf test: adds discussion API permissions test cases (#29135) 2021-10-28 14:54:32 +05:00
Kshitij Sobti
79cd0b1ef8 feat: Adds discussions settings for new discusions experience [BD-38] [TNL-8621] [BB-4854] (#29131)
* feat: Adds discussions settings for new discusions experience
This commit adds new discussions settings for the new discussions experience. These are stored in the course so they can be a part of course import/export flow.
These are also added to the discussions configuraiton API to allow MFEs to update the settings.
The discussions API is currently available via LMS, however that means it cannot save changes to the modulestore. This also adds the API to the studio config so it can now also be accessed from studio and be used to save course settings.

* fix: tests
2021-10-28 11:56:17 +05:00
David Ormsbee
5d0132305d Revert "feat: Adds discussions settings for new discusions experience (#28749)"
This reverts commit bb0c03123c.
2021-10-27 10:40:12 -04:00
Kshitij Sobti
bb0c03123c feat: Adds discussions settings for new discusions experience (#28749)
This commit adds new discussions settings for the new discussions experience. These are stored in the course so they can be a part of course import/export flow.
These are also added to the discussions configuraiton API to allow MFEs to update the settings.
The discussions API is currently available via LMS, however that means it cannot save changes to the modulestore. This also adds the API to the studio config so it can now also be accessed from studio and be used to save course settings.
2021-10-27 15:41:27 +05:00
Awais Jibran
f1957a7cf7 fix: lms discussion tab url should be accurate (#29110)
* fix: lms discussion tab url should be accurate

* refactor: change supports_lti feature

* refactor: rename variable

* refactor: rename feature variable.

* fix: update supports_lti method

* test: fix failing tests.

* test: fix quality test failure

Co-authored-by: SaadYousaf <saadyousaf@A006-00314.local>
2021-10-26 19:57:41 +05:00
SaadYousaf
91fcad813d fix: update discussion features with support level added to API response 2021-10-11 17:40:44 +05:00
Awais Jibran
aac6c4c4cb fix: default discussion config (#28900)
* fix: default discussion config

* refactor: add closing bracket

Co-authored-by: Asad <asadazam93@gmail.com>
2021-10-06 16:37:16 +05:00
João Cabrita
0879568023 feat(discussions): Add messages field to provider descriptions
This adds an `messages` field containing messages relevant
for configuring the provider to the DiscussionsConfigurationView.

Related tickets:
* [TNL-8339](https://openedx.atlassian.net/browse/TNL-8339)
* [TNL-8523](https://openedx.atlassian.net/browse/TNL-8523)
* [BB-4249 (OpenCraft Internal)](https://tasks.opencraft.com/browse/BB-4249)
2021-07-26 13:51:23 +05:00
Kshitij Sobti
666a50d298 feat: allow optionally passing PII in course LTI tab (#26982) 2021-07-09 18:13:42 +05:00
João Cabrita
530e4932bb fix!: Disable changing discussions providers once a course run has started
For authenticated users that are not global staff, changing discussion
providers after a course has started fails with 403 Forbidden.

Related issues:
* [BB-4253](https://tasks.opencraft.com/browse/BB-4253)
* [TNL-8142](https://openedx.atlassian.net/browse/TNL-8142)

BREAKING CHANGE:
Course staff, who were previously allowed to do this operation,
will instead receive a 403 Forbidden response.
2021-07-09 12:14:23 +05:00
Mehak Nasir
baa9fd8831 Merge pull request #27860 from edx/TNL-7832
feat: documentation links added in discussion api
2021-06-11 14:57:42 +05:00
Mehak Nasir
d4431455a1 refactor: updated provider map structure and test cases 2021-06-10 12:01:51 +05:00
Kyle McCormick
d42b0c401d refactor: normalize xmodule imports
Code in ./common/lib/xmodule/xmodule should
be imported as `from xmodule`, since `xmodule`
is a locally-installed package.

This is weird, but as long as it is the case,
we should be consistent.

(In BOM-2584, I propose moving the files to
 ./xmodule, which would quell this confusion.)
2021-06-07 16:36:38 -04:00
stvn
8ed13dfbc3 tests: Add data tests for Discussions API
Closes stvstnfrd/openedx-meta#3
Closes CENG-58
Closes TNL-8230
2021-05-07 09:23:40 -07:00
stvn
eaeec735a9 feat: Add support for legacy discussions settings to API 2021-04-27 12:50:53 -07:00
stvn
4776ab1504 test: Add CourseFactory to discussions API tests 2021-04-27 12:37:29 -07:00
stvn
49594d92e6 fix: Grant course staff access to discussions API
to match expected behavior.
2021-04-16 11:23:44 -07:00
stvn
2fa36fb0cf refactor: Move StaffFactory helper to common/ 2021-04-14 07:26:39 -07:00
stvn
5dd8302d8b refactor: Move GlobalStaffFactory helper to common/ 2021-04-14 07:26:39 -07:00
stvn
eba78682c9 test: Test (incorrect) behavior of discussions API access
As implemented, course staff members will not have access to this API
endpoint. This will be addressed with pending work [1].

- [1] https://openedx.atlassian.net/browse/TNL-8231
2021-04-13 23:57:49 -07:00
stvn
4f0415f5cb test: Add tests for discussions API access
This checks for expected API access [1];
data integrity will be checked later [2].

This work exposes that the code currently does _not_ grant access to
_course_ staff, only _global_ staff. This is being addressed next [3].

Fix: TNL-8229 [1]

- [1] https://openedx.atlassian.net/browse/TNL-8229
- [2] https://openedx.atlassian.net/browse/TNL-8230
- [3] https://openedx.atlassian.net/browse/TNL-8231
2021-04-13 23:57:49 -07:00
stvn
2053da2a9e fix: Update default provider returned by discussions API 2021-04-07 11:54:21 -07:00
David Joy
8c6a06cf5b fix: adjust discussions app APIs to match consuming frontend (#27085)
This commit adjusts a few values in our discussions configuration APIs to make them match what the frontend needs, as well as to more accurately reflect the providers available today.

- The `active` provider ID is expressed as None if it doesn’t exist
- The “cs_comments_service” provider has been renamed “legacy” - when we implement the new discussions micro-frontend, we’ll also have a separate provider for that, so they can’t both be “cs_comments_service”.  Also, cs_comments_service is such a bad name for anything.
- The hard-coded providers list in get_supported_providers now includes ‘legacy’ and ‘piazza’, our two known providers.  This list will be updated as more known providers come online.
- The PROVIDER_FEATURE_MAP has similarly been updated.

Part of this task: TNL-8093
2021-03-23 13:37:16 -04:00
usamasadiq
96f0915b0f Fixed new pylint warnings.
use generator in any/all()
disable not-callable warnings
disable no-member warnings
Suppressed smaller pylint warnings
Pin edx-proctoring==3.5.0
2021-02-22 16:36:53 +05:00
Aarif
c880a44947 replaced unittest assertions pytest assertions (#26566) 2021-02-22 12:24:07 +05:00
stvn
c36c343c58 style: Fix pylint issues in discussions app 2021-02-02 16:57:39 -08:00
stvn
cff2cb8941 feat: Allow filtering of discussion providers
Propose and implement organization-wide discussion-provider filtering.

Fixes: TNL-7814
2021-02-02 06:51:41 -08:00
stvn
c7a4f97ba1 Add get-accessor helper for discussions plugins 2020-12-17 20:08:57 -08:00
stvn
590286f3be Add is_enabled helper for discussions plugins 2020-12-17 19:40:41 -08:00
stvn
39acbf2f21 Implement a new configuration system for discussions plugins
Additional details available in the attached decisions document.

Co-authored-by: Kshitij Sobti <kshitij@sobti.in>
Co-authored-by: stvn <stvn@mit.edu>
2020-12-17 18:23:46 -08:00