Move discussion_api to discussion/rest_api
This commit is contained in:
1
.github/CODEOWNERS
vendored
1
.github/CODEOWNERS
vendored
@@ -22,7 +22,6 @@ common/lib/xmodule/xmodule/capa_module.py @edx/platform-core-extensions
|
||||
common/lib/xmodule/xmodule/html_module.py @edx/platform-core-extensions
|
||||
common/lib/xmodule/xmodule/video_module @edx/platform-core-extensions
|
||||
lms/djangoapps/discussion/ @edx/platform-core-extensions
|
||||
lms/djangoapps/discussion_api/ @edx/platform-core-extensions
|
||||
lms/djangoapps/edxnotes @edx/platform-core-extensions
|
||||
lms/djangoapps/notifier_api/ @edx/platform-core-extensions
|
||||
|
||||
|
||||
@@ -10,7 +10,6 @@ Discussions related functionality is scattered across a number of places and sho
|
||||
|
||||
* ``common/djangoapps/django_comment_common``
|
||||
* ``lms/djangoapps/discussion``
|
||||
* ``lms/djangoapps/discussion_api``
|
||||
* ``lms/djangoapps/django_comment_client``
|
||||
* ``lms/djangoapps/notification_prefs``
|
||||
* ``lms/djangoapps/notifier_api``
|
||||
|
||||
@@ -12,7 +12,7 @@ from openedx.core.djangoapps.plugins.constants import ProjectType, SettingsType,
|
||||
|
||||
class DiscussionConfig(AppConfig):
|
||||
"""
|
||||
Application Configuration for Grades.
|
||||
Application Configuration for Discussion.
|
||||
"""
|
||||
|
||||
name = u'lms.djangoapps.discussion'
|
||||
|
||||
@@ -15,15 +15,15 @@ from opaque_keys.edx.locator import CourseKey
|
||||
from rest_framework.exceptions import PermissionDenied
|
||||
|
||||
from courseware.courses import get_course_with_access
|
||||
from discussion_api.exceptions import CommentNotFoundError, DiscussionDisabledError, ThreadNotFoundError
|
||||
from discussion_api.forms import CommentActionsForm, ThreadActionsForm
|
||||
from discussion_api.permissions import (
|
||||
from lms.djangoapps.discussion.rest_api.exceptions import CommentNotFoundError, DiscussionDisabledError, ThreadNotFoundError
|
||||
from lms.djangoapps.discussion.rest_api.forms import CommentActionsForm, ThreadActionsForm
|
||||
from lms.djangoapps.discussion.rest_api.permissions import (
|
||||
can_delete,
|
||||
get_editable_fields,
|
||||
get_initializable_comment_fields,
|
||||
get_initializable_thread_fields
|
||||
)
|
||||
from discussion_api.serializers import CommentSerializer, DiscussionTopicSerializer, ThreadSerializer, get_context
|
||||
from lms.djangoapps.discussion.rest_api.serializers import CommentSerializer, DiscussionTopicSerializer, ThreadSerializer, get_context
|
||||
from django_comment_client.base.views import track_comment_created_event, track_thread_created_event, track_voted_event
|
||||
from django_comment_client.utils import get_accessible_discussion_xblocks, get_group_id_for_user, is_commentable_divided
|
||||
from django_comment_common.comment_client.comment import Comment
|
||||
@@ -41,7 +41,7 @@ from django_comment_common.signals import (
|
||||
)
|
||||
from django_comment_common.utils import get_course_discussion_settings
|
||||
from lms.djangoapps.courseware.exceptions import CourseAccessRedirect
|
||||
from lms.djangoapps.discussion_api.pagination import DiscussionAPIPagination
|
||||
from lms.djangoapps.discussion.rest_api.pagination import DiscussionAPIPagination
|
||||
from openedx.core.djangoapps.user_api.accounts.views import AccountViewSet
|
||||
from openedx.core.lib.exceptions import CourseNotFoundError, DiscussionNotFoundError, PageNotFoundError
|
||||
|
||||
@@ -175,7 +175,7 @@ def get_course(request, course_key):
|
||||
|
||||
Returns:
|
||||
|
||||
The course information; see discussion_api.views.CourseView for more
|
||||
The course information; see discussion.rest_api.views.CourseView for more
|
||||
detail.
|
||||
|
||||
Raises:
|
||||
@@ -305,7 +305,7 @@ def get_course_topics(request, course_key, topic_ids=None):
|
||||
|
||||
Returns:
|
||||
|
||||
A course topic listing dictionary; see discussion_api.views.CourseTopicViews
|
||||
A course topic listing dictionary; see discussion.rest_api.views.CourseTopicViews
|
||||
for more detail.
|
||||
|
||||
Raises:
|
||||
@@ -510,7 +510,7 @@ def get_thread_list(
|
||||
Returns:
|
||||
|
||||
A paginated result containing a list of threads; see
|
||||
discussion_api.views.ThreadViewSet for more detail.
|
||||
discussion.rest_api.views.ThreadViewSet for more detail.
|
||||
|
||||
Raises:
|
||||
|
||||
@@ -612,7 +612,7 @@ def get_comment_list(request, thread_id, endorsed, page, page_size, requested_fi
|
||||
Returns:
|
||||
|
||||
A paginated result containing a list of comments; see
|
||||
discussion_api.views.CommentViewSet for more detail.
|
||||
discussion.rest_api.views.CommentViewSet for more detail.
|
||||
"""
|
||||
response_skip = page_size * (page - 1)
|
||||
cc_thread, context = _get_thread_and_context(
|
||||
@@ -809,7 +809,7 @@ def create_thread(request, thread_data):
|
||||
|
||||
Returns:
|
||||
|
||||
The created thread; see discussion_api.views.ThreadViewSet for more
|
||||
The created thread; see discussion.rest_api.views.ThreadViewSet for more
|
||||
detail.
|
||||
"""
|
||||
course_id = thread_data.get("course_id")
|
||||
@@ -859,7 +859,7 @@ def create_comment(request, comment_data):
|
||||
|
||||
Returns:
|
||||
|
||||
The created comment; see discussion_api.views.CommentViewSet for more
|
||||
The created comment; see discussion.rest_api.views.CommentViewSet for more
|
||||
detail.
|
||||
"""
|
||||
thread_id = comment_data.get("thread_id")
|
||||
@@ -902,7 +902,7 @@ def update_thread(request, thread_id, update_data):
|
||||
|
||||
Returns:
|
||||
|
||||
The updated thread; see discussion_api.views.ThreadViewSet for more
|
||||
The updated thread; see discussion.rest_api.views.ThreadViewSet for more
|
||||
detail.
|
||||
"""
|
||||
cc_thread, context = _get_thread_and_context(request, thread_id, retrieve_kwargs={"with_responses": True})
|
||||
@@ -941,7 +941,7 @@ def update_comment(request, comment_id, update_data):
|
||||
|
||||
Returns:
|
||||
|
||||
The updated comment; see discussion_api.views.CommentViewSet for more
|
||||
The updated comment; see discussion.rest_api.views.CommentViewSet for more
|
||||
detail.
|
||||
|
||||
Raises:
|
||||
@@ -10,8 +10,8 @@ from django.urls import reverse
|
||||
from rest_framework import serializers
|
||||
|
||||
from discussion.views import get_divided_discussions
|
||||
from discussion_api.permissions import NON_UPDATABLE_COMMENT_FIELDS, NON_UPDATABLE_THREAD_FIELDS, get_editable_fields
|
||||
from discussion_api.render import render_body
|
||||
from lms.djangoapps.discussion.rest_api.permissions import NON_UPDATABLE_COMMENT_FIELDS, NON_UPDATABLE_THREAD_FIELDS, get_editable_fields
|
||||
from lms.djangoapps.discussion.rest_api.render import render_body
|
||||
from django_comment_client.utils import is_comment_too_deep, get_group_id_for_user, get_group_name
|
||||
from django_comment_common.models import (
|
||||
FORUM_ROLE_ADMINISTRATOR,
|
||||
@@ -17,8 +17,8 @@ from rest_framework.exceptions import PermissionDenied
|
||||
|
||||
from common.test.utils import MockSignalHandlerMixin, disable_signal
|
||||
from courseware.tests.factories import BetaTesterFactory, StaffFactory
|
||||
from discussion_api import api
|
||||
from discussion_api.api import (
|
||||
from lms.djangoapps.discussion.rest_api import api
|
||||
from lms.djangoapps.discussion.rest_api.api import (
|
||||
create_comment,
|
||||
create_thread,
|
||||
delete_comment,
|
||||
@@ -31,8 +31,8 @@ from discussion_api.api import (
|
||||
update_comment,
|
||||
update_thread
|
||||
)
|
||||
from discussion_api.exceptions import CommentNotFoundError, DiscussionDisabledError, ThreadNotFoundError
|
||||
from discussion_api.tests.utils import (
|
||||
from lms.djangoapps.discussion.rest_api.exceptions import CommentNotFoundError, DiscussionDisabledError, ThreadNotFoundError
|
||||
from lms.djangoapps.discussion.rest_api.tests.utils import (
|
||||
CommentsServiceMockMixin,
|
||||
make_minimal_cs_comment,
|
||||
make_minimal_cs_thread,
|
||||
@@ -9,7 +9,7 @@ import ddt
|
||||
from django.http import QueryDict
|
||||
from opaque_keys.edx.locator import CourseLocator
|
||||
|
||||
from discussion_api.forms import CommentListGetForm, ThreadListGetForm
|
||||
from lms.djangoapps.discussion.rest_api.forms import CommentListGetForm, ThreadListGetForm
|
||||
from openedx.core.djangoapps.util.test_forms import FormTestMixin
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@ from unittest import TestCase
|
||||
|
||||
from django.test import RequestFactory
|
||||
|
||||
from discussion_api.pagination import DiscussionAPIPagination
|
||||
from discussion_api.tests.utils import make_paginated_api_response
|
||||
from lms.djangoapps.discussion.rest_api.pagination import DiscussionAPIPagination
|
||||
from lms.djangoapps.discussion.rest_api.tests.utils import make_paginated_api_response
|
||||
|
||||
|
||||
class PaginationSerializerTest(TestCase):
|
||||
@@ -5,7 +5,7 @@ import itertools
|
||||
|
||||
import ddt
|
||||
|
||||
from discussion_api.permissions import (
|
||||
from lms.djangoapps.discussion.rest_api.permissions import (
|
||||
can_delete,
|
||||
get_editable_fields,
|
||||
get_initializable_comment_fields,
|
||||
@@ -5,7 +5,7 @@ from unittest import TestCase
|
||||
|
||||
import ddt
|
||||
|
||||
from discussion_api.render import render_body
|
||||
from lms.djangoapps.discussion.rest_api.render import render_body
|
||||
|
||||
|
||||
def _add_p_tags(raw_body):
|
||||
@@ -9,8 +9,8 @@ import httpretty
|
||||
import mock
|
||||
from django.test.client import RequestFactory
|
||||
|
||||
from discussion_api.serializers import CommentSerializer, ThreadSerializer, get_context
|
||||
from discussion_api.tests.utils import CommentsServiceMockMixin, make_minimal_cs_comment, make_minimal_cs_thread
|
||||
from lms.djangoapps.discussion.rest_api.serializers import CommentSerializer, ThreadSerializer, get_context
|
||||
from lms.djangoapps.discussion.rest_api.tests.utils import CommentsServiceMockMixin, make_minimal_cs_comment, make_minimal_cs_thread
|
||||
from django_comment_client.tests.utils import ForumsEnableMixin
|
||||
from django_comment_common.comment_client.comment import Comment
|
||||
from django_comment_common.comment_client.thread import Thread
|
||||
@@ -21,8 +21,8 @@ from six import text_type
|
||||
from common.test.utils import disable_signal
|
||||
from course_modes.models import CourseMode
|
||||
from course_modes.tests.factories import CourseModeFactory
|
||||
from discussion_api import api
|
||||
from discussion_api.tests.utils import (
|
||||
from lms.djangoapps.discussion.rest_api import api
|
||||
from lms.djangoapps.discussion.rest_api.tests.utils import (
|
||||
CommentsServiceMockMixin,
|
||||
ProfileImageTestMixin,
|
||||
make_minimal_cs_comment,
|
||||
@@ -5,7 +5,7 @@ from django.conf import settings
|
||||
from django.conf.urls import include, url
|
||||
from rest_framework.routers import SimpleRouter
|
||||
|
||||
from discussion_api.views import (
|
||||
from lms.djangoapps.discussion.rest_api.views import (
|
||||
CommentViewSet,
|
||||
CourseDiscussionSettingsAPIView,
|
||||
CourseDiscussionRolesAPIView,
|
||||
@@ -24,7 +24,7 @@ from django_comment_common.utils import get_course_discussion_settings, set_cour
|
||||
|
||||
from instructor.access import update_forum_role
|
||||
from discussion.views import get_divided_discussions
|
||||
from discussion_api.api import (
|
||||
from lms.djangoapps.discussion.rest_api.api import (
|
||||
create_comment,
|
||||
create_thread,
|
||||
delete_comment,
|
||||
@@ -38,13 +38,13 @@ from discussion_api.api import (
|
||||
update_comment,
|
||||
update_thread
|
||||
)
|
||||
from discussion_api.forms import (
|
||||
from lms.djangoapps.discussion.rest_api.forms import (
|
||||
CommentGetForm,
|
||||
CommentListGetForm,
|
||||
CourseDiscussionSettingsForm,
|
||||
ThreadListGetForm,
|
||||
CourseDiscussionRolesForm)
|
||||
from discussion_api.serializers import (
|
||||
from lms.djangoapps.discussion.rest_api.serializers import (
|
||||
DiscussionRolesSerializer,
|
||||
DiscussionRolesListSerializer,
|
||||
DiscussionSettingsSerializer,
|
||||
@@ -1 +0,0 @@
|
||||
See ``lms/djangoapps/discussion/README.rst``
|
||||
@@ -82,7 +82,7 @@ def comment_endorsed_handler(sender, **kwargs): # pylint: disable=unused-argume
|
||||
|
||||
def handle_activity(user, post, original_author_id=None):
|
||||
"""
|
||||
Handle user activity from django_comment_client and discussion_api
|
||||
Handle user activity from django_comment_client and discussion.rest_api
|
||||
and update the user's last activity date. Checks if the user who
|
||||
performed the action is the original author, and that the
|
||||
discussion has the team context.
|
||||
|
||||
@@ -2125,7 +2125,6 @@ INSTALLED_APPS = [
|
||||
# Discussion forums
|
||||
'django_comment_client',
|
||||
'django_comment_common',
|
||||
'discussion_api',
|
||||
|
||||
# Notes
|
||||
'notes',
|
||||
|
||||
@@ -704,7 +704,7 @@ if settings.FEATURES.get('ENABLE_DISCUSSION_SERVICE'):
|
||||
urlpatterns += [
|
||||
url(
|
||||
r'^api/discussion/',
|
||||
include('discussion_api.urls')
|
||||
include('discussion.rest_api.urls')
|
||||
),
|
||||
url(
|
||||
r'^courses/{}/discussion/'.format(
|
||||
|
||||
Reference in New Issue
Block a user