Ahtisham Shahid
73226f527b
refactor: updated feature names as per convention
2021-05-11 18:20:17 +05:00
Ahtisham Shahid
e025c9bb64
refactor: sorted imports and misc cont renames
2021-05-11 18:20:17 +05:00
Ahtisham Shahid
1a43a4ca29
feat: Added new discussion providers and features
...
refactor: Fixed linter issues
refactor: Fixed styling issues
refactor: Code refactor and removed conflicts
refactor: Replaced feature dict with enum
2021-05-11 18:20:11 +05:00
Usama Sadiq
4f4be6538a
BOM-2477: pylint warnings lint-amnesty ( #27585 )
2021-05-11 17:22:40 +05: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
165944c091
fix: Improve validation in Discussions API
2021-05-07 09:23:40 -07:00
stvn
718458115a
docs: Remove completed TODO discussions item
2021-04-30 11:47:34 -07:00
stvn
e62705a365
feat: Add support to Discussions API for legacy cohort settings
2021-04-30 11:47:34 -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
a99c95da64
feat: Hide lti_configuration from non-LTI discussions providers
2021-04-17 00:59:17 -07:00
stvn
33e499ea04
fix: Update discussions lti_configuration during provider_type change
...
Else, we risk updating it when we don't intend to, eg:
- changing from an LTI-backed provider (Piazza) to a non-LTI-backed
provider (legacy)
- the settings are no longer relevant
- changing from a non-LTI-backed provider (legacy) to an LTI-backed
provider (Piazza)
- the settings _are_ now relevant
2021-04-17 00:59:17 -07:00
stvn
c1742b7b66
feat: Add helper for discussions configuration to indicate feature support
2021-04-17 00:52:51 -07:00
stvn
fb2f8e6291
refactor: Remove superfluous dict comprehension
2021-04-17 00:48:01 -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
5284f397b4
refactor: Make discussions helper method more accessible
...
so we can use it elsewhere.
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
fc39c3e073
fix: Stop using view_auth_classes helper in discussions API
...
as it conflicts with the manually-assigned `permission_classes`;
the decorator erases them.
2021-04-09 09:38:27 -07:00
stvn
67e045b5e0
refactor: Move discussions api LTI serialization logic
2021-04-08 09:31:48 -07:00
stvn
862ba01208
style: Add more typehints to discussions API
2021-04-07 21:05:33 -07:00
stvn
2053da2a9e
fix: Update default provider returned by discussions API
2021-04-07 11:54:21 -07:00
stvn
d884967e2c
refactor: Split kwargs out to individual lines
...
to make further addition/deletion cleaner.
2021-04-07 11:43:12 -07:00
stvn
6eabae0d9e
feat: Implement POST endpoint for discussions API
2021-04-07 10:48:59 -07:00
stvn
87e375d627
feat: Implement update helper for discussions API
2021-04-07 10:48:59 -07:00
stvn
342d922034
feat: Implement to_internal_value helper for discussion API
2021-04-07 10:48:59 -07:00
stvn
def644b9aa
feat: Add lti_configuration to discussions API payload
2021-04-07 10:48:59 -07:00
stvn
0cce315539
refactor: Base discussions serializer off of ModelSerializer
...
to make Django operations easier.
2021-04-07 10:48:59 -07:00
stvn
3f6f6e3667
refactor: Remove unused helper from discussions API
2021-04-07 10:48:56 -07:00
stvn
e8163c9161
fix: Use the correct name for serializer to_internal_value
...
Fortunately, this wasn't being used yet.
2021-04-07 10:48:08 -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
Usama Sadiq
aa618c460c
refactor: remove unused-imports ( #27083 )
2021-03-19 22:42:14 +05:00
Usama Sadiq
5b9978029e
refactor: ran pyupgrade on openedx/core/djangoapps ( #26909 )
...
Ran pyupgrade on {debug, demographics, discussions}.
2021-03-18 18:37:31 +05:00
stvn
054f4ac828
feat: Add discussions API endpoint [BD-03]
2021-03-10 01:01:53 -08:00
stvn
747a049420
docs: Add ADR for DiscussionsConfiguration HTTP API [BD-03]
2021-03-10 01:01:16 -08:00
Kyle McCormick
9aefd6f986
style: django-not-configured is not a sensible lint-amnesty value ( #26862 )
...
django-not-configured is an error raised by pylint (with
the pylint-django plugin) when it's not correctly configured.
We should not be applying lint amnesty for such a violation.
2021-03-05 08:11:58 -05:00
stvn
8314971e0b
refactor: Convert discussions to pluggable app
...
This minimizes our footprint outside of the djangoapp, now and moving
forward. Not only can we drop the `lms/envs/common.py` change, but we
can also avoid touching `lms/urls.py` when we add the API. Everything
can stay contained within `openedx/core/djangoapps/discussions`.
2021-02-25 18:51:25 -08: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
b17bbc8d66
style: Add more type-hints to discussions app
2021-02-10 08:42:05 -08:00
stvn
ef77ddc18d
Merge PR #26345 bd03/admin/enabled
...
* Commits:
fix: Add DiscussionsConfiguration.enabled to admin page
2021-02-10 08:25:16 -08:00
stvn
d8d4b4a0cc
Merge PR #26346 bd03/models/str
...
* Commits:
style: Cleanup DiscussionsConfiguration.__str__
2021-02-10 08:23:49 -08:00
M. Zulqarnain
c3c57c5ecd
BOM-2322 : Pylint amnesty in openedx apps ( #26367 )
...
* pylint amnesty in demographics, discussions and comments app
2021-02-04 15:33:50 +05:00
stvn
d52ec518cf
style: Cleanup DiscussionsConfiguration.__str__
...
This makes it more useful during debugging, as well as on the Django
Admin page.
2021-02-03 01:58:23 -08:00
stvn
9df2c4462f
fix: Add DiscussionsConfiguration.enabled to admin page
...
Without this, we can't edit it via the default view.
2021-02-03 01:49:07 -08: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