Move django_comment_client to discussion/
This commit is contained in:
@@ -78,7 +78,7 @@ class Role(models.Model):
|
||||
course_id = CourseKeyField(max_length=255, blank=True, db_index=True)
|
||||
|
||||
class Meta(object):
|
||||
# use existing table that was originally created from django_comment_client app
|
||||
# use existing table that was originally created from lms.djangoapps.discussion.django_comment_client app
|
||||
db_table = 'django_comment_client_role'
|
||||
|
||||
def __unicode__(self):
|
||||
@@ -134,7 +134,7 @@ class Permission(models.Model):
|
||||
roles = models.ManyToManyField(Role, related_name="permissions")
|
||||
|
||||
class Meta(object):
|
||||
# use existing table that was originally created from django_comment_client app
|
||||
# use existing table that was originally created from lms.djangoapps.discussion.django_comment_client app
|
||||
db_table = 'django_comment_client_permission'
|
||||
|
||||
def __unicode__(self):
|
||||
|
||||
@@ -23,7 +23,7 @@ from courseware.tabs import get_course_tab_list
|
||||
from courseware.tests.factories import StudentModuleFactory
|
||||
from courseware.tests.helpers import LoginEnrollmentTestCase
|
||||
from courseware.testutils import FieldOverrideTestMixin
|
||||
from django_comment_client.utils import has_forum_access
|
||||
from lms.djangoapps.discussion.django_comment_client.utils import has_forum_access
|
||||
from django_comment_common.models import FORUM_ROLE_ADMINISTRATOR
|
||||
from django_comment_common.utils import are_permissions_roles_seeded
|
||||
from edx_django_utils.cache import RequestCache
|
||||
|
||||
@@ -213,7 +213,10 @@ class TestTemplates(TestDiscussionXBlock):
|
||||
Test for has_permission method.
|
||||
"""
|
||||
permission_canary = object()
|
||||
with mock.patch('django_comment_client.permissions.has_permission', return_value=permission_canary) as has_perm:
|
||||
with mock.patch(
|
||||
'lms.djangoapps.discussion.django_comment_client.permissions.has_permission',
|
||||
return_value=permission_canary,
|
||||
) as has_perm:
|
||||
actual_permission = self.block.has_permission("test_permission")
|
||||
self.assertEqual(actual_permission, permission_canary)
|
||||
has_perm.assert_called_once_with(self.django_user_canary, 'test_permission', 'test_course')
|
||||
|
||||
@@ -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/django_comment_client``
|
||||
* ``lms/djangoapps/notification_prefs``
|
||||
* ``lms/djangoapps/notifier_api``
|
||||
* ``openedx/core/lib/xblock_builtin/xblock_discussion``
|
||||
|
||||
@@ -8,9 +8,9 @@ from eventtracking.processors.exceptions import EventEmissionExit
|
||||
from opaque_keys import InvalidKeyError
|
||||
from opaque_keys.edx.locator import CourseLocator
|
||||
|
||||
from django_comment_client.base.views import add_truncated_title_to_event_data
|
||||
from django_comment_client.permissions import get_team
|
||||
from django_comment_client.utils import get_cached_discussion_id_map_by_course_id
|
||||
from lms.djangoapps.discussion.django_comment_client.base.views import add_truncated_title_to_event_data
|
||||
from lms.djangoapps.discussion.django_comment_client.permissions import get_team
|
||||
from lms.djangoapps.discussion.django_comment_client.utils import get_cached_discussion_id_map_by_course_id
|
||||
from track.transformers import EventTransformer, EventTransformerRegistry
|
||||
from track.views.segmentio import (
|
||||
BI_SCREEN_VIEWED_EVENT_NAME,
|
||||
@@ -18,14 +18,14 @@ from six import text_type
|
||||
from common.test.utils import MockSignalHandlerMixin, disable_signal
|
||||
from course_modes.models import CourseMode
|
||||
from course_modes.tests.factories import CourseModeFactory
|
||||
from django_comment_client.base import views
|
||||
from django_comment_client.tests.group_id import (
|
||||
from lms.djangoapps.discussion.django_comment_client.base import views
|
||||
from lms.djangoapps.discussion.django_comment_client.tests.group_id import (
|
||||
CohortedTopicGroupIdTestMixin,
|
||||
GroupIdAssertionMixin,
|
||||
NonCohortedTopicGroupIdTestMixin
|
||||
)
|
||||
from django_comment_client.tests.unicode import UnicodeTestMixin
|
||||
from django_comment_client.tests.utils import CohortedTestCase, ForumsEnableMixin
|
||||
from lms.djangoapps.discussion.django_comment_client.tests.unicode import UnicodeTestMixin
|
||||
from lms.djangoapps.discussion.django_comment_client.tests.utils import CohortedTestCase, ForumsEnableMixin
|
||||
from django_comment_common.comment_client import Thread
|
||||
from django_comment_common.models import (
|
||||
assign_role,
|
||||
@@ -641,7 +641,10 @@ class ViewsTestCase(
|
||||
with self.assert_discussion_signals('thread_edited'):
|
||||
self.update_thread_helper(mock_request)
|
||||
|
||||
@patch('django_comment_client.utils.get_discussion_categories_ids', return_value=["test_commentable"])
|
||||
@patch(
|
||||
'lms.djangoapps.discussion.django_comment_client.utils.get_discussion_categories_ids',
|
||||
return_value=["test_commentable"],
|
||||
)
|
||||
def test_update_thread_wrong_commentable_id(self, mock_get_discussion_id_map, mock_request):
|
||||
self._test_request_error(
|
||||
"update_thread",
|
||||
@@ -1233,7 +1236,10 @@ class UpdateThreadUnicodeTestCase(
|
||||
cls.student = UserFactory.create()
|
||||
CourseEnrollmentFactory(user=cls.student, course_id=cls.course.id)
|
||||
|
||||
@patch('django_comment_client.utils.get_discussion_categories_ids', return_value=["test_commentable"])
|
||||
@patch(
|
||||
'lms.djangoapps.discussion.django_comment_client.utils.get_discussion_categories_ids',
|
||||
return_value=["test_commentable"],
|
||||
)
|
||||
@patch('django_comment_common.comment_client.utils.requests.request', autospec=True)
|
||||
def _test_unicode_data(self, text, mock_request, mock_get_discussion_id_map):
|
||||
self._set_mock_request_data(mock_request, {
|
||||
@@ -3,7 +3,7 @@ Base urls for the django_comment_client.
|
||||
"""
|
||||
from django.conf.urls import url
|
||||
|
||||
from django_comment_client.base import views
|
||||
from lms.djangoapps.discussion.django_comment_client.base import views
|
||||
|
||||
urlpatterns = [
|
||||
url(r'^upload$', views.upload, name='upload'),
|
||||
@@ -20,12 +20,12 @@ from django.views.decorators.http import require_GET, require_POST
|
||||
from opaque_keys.edx.keys import CourseKey
|
||||
from six import text_type
|
||||
|
||||
import django_comment_client.settings as cc_settings
|
||||
import lms.djangoapps.discussion.django_comment_client.settings as cc_settings
|
||||
import django_comment_common.comment_client as cc
|
||||
from courseware.access import has_access
|
||||
from courseware.courses import get_course_by_id, get_course_overview_with_access, get_course_with_access
|
||||
from django_comment_client.permissions import check_permissions_by_view, get_team, has_permission
|
||||
from django_comment_client.utils import (
|
||||
from lms.djangoapps.discussion.django_comment_client.permissions import check_permissions_by_view, get_team, has_permission
|
||||
from lms.djangoapps.discussion.django_comment_client.utils import (
|
||||
JsonError,
|
||||
JsonResponse,
|
||||
add_courseware_context,
|
||||
@@ -3,7 +3,7 @@ import logging
|
||||
|
||||
from six import text_type
|
||||
|
||||
from django_comment_client.utils import JsonError
|
||||
from lms.djangoapps.discussion.django_comment_client.utils import JsonError
|
||||
from django_comment_common.comment_client import CommentClientRequestError
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
@@ -5,7 +5,7 @@ import urllib2
|
||||
|
||||
import pytest
|
||||
|
||||
from django_comment_client.tests.mock_cs_server.mock_cs_server import MockCommentServiceServer
|
||||
from lms.djangoapps.discussion.django_comment_client.tests.mock_cs_server.mock_cs_server import MockCommentServiceServer
|
||||
|
||||
|
||||
class MockCommentServiceServerTest(unittest.TestCase):
|
||||
@@ -4,7 +4,7 @@ import django.http
|
||||
from django.test import TestCase
|
||||
from six import text_type
|
||||
|
||||
import django_comment_client.middleware as middleware
|
||||
import lms.djangoapps.discussion.django_comment_client.middleware as middleware
|
||||
import django_comment_common.comment_client
|
||||
|
||||
|
||||
@@ -12,15 +12,15 @@ from mock import Mock, patch
|
||||
from pytz import UTC
|
||||
from six import text_type
|
||||
|
||||
import django_comment_client.utils as utils
|
||||
import lms.djangoapps.discussion.django_comment_client.utils as utils
|
||||
from course_modes.models import CourseMode
|
||||
from course_modes.tests.factories import CourseModeFactory
|
||||
from courseware.tabs import get_course_tab_list
|
||||
from courseware.tests.factories import InstructorFactory
|
||||
from django_comment_client.constants import TYPE_ENTRY, TYPE_SUBCATEGORY
|
||||
from django_comment_client.tests.factories import RoleFactory
|
||||
from django_comment_client.tests.unicode import UnicodeTestMixin
|
||||
from django_comment_client.tests.utils import config_course_discussions, topic_name_to_id
|
||||
from lms.djangoapps.discussion.django_comment_client.constants import TYPE_ENTRY, TYPE_SUBCATEGORY
|
||||
from lms.djangoapps.discussion.django_comment_client.tests.factories import RoleFactory
|
||||
from lms.djangoapps.discussion.django_comment_client.tests.unicode import UnicodeTestMixin
|
||||
from lms.djangoapps.discussion.django_comment_client.tests.utils import config_course_discussions, topic_name_to_id
|
||||
from django_comment_common.comment_client.utils import CommentClientMaintenanceError, perform_request
|
||||
from django_comment_common.models import (
|
||||
CourseDiscussionSettings,
|
||||
@@ -1592,7 +1592,9 @@ class PermissionsTestCase(ModuleStoreTestCase):
|
||||
user = mock.Mock()
|
||||
user.id = 1
|
||||
|
||||
with mock.patch('django_comment_client.utils.check_permissions_by_view') as check_perm:
|
||||
with mock.patch(
|
||||
'lms.djangoapps.discussion.django_comment_client.utils.check_permissions_by_view'
|
||||
) as check_perm:
|
||||
check_perm.return_value = True
|
||||
self.assertEqual(utils.get_ability(None, content, user), {
|
||||
'editable': True,
|
||||
@@ -1620,7 +1622,9 @@ class PermissionsTestCase(ModuleStoreTestCase):
|
||||
"""
|
||||
content = {'user_id': '1', 'type': 'thread'}
|
||||
|
||||
with mock.patch('django_comment_client.utils.check_permissions_by_view') as check_perm:
|
||||
with mock.patch(
|
||||
'lms.djangoapps.discussion.django_comment_client.utils.check_permissions_by_view'
|
||||
) as check_perm:
|
||||
# check_permissions_by_view returns false because user is not enrolled in the course.
|
||||
check_perm.return_value = False
|
||||
global_staff = UserFactory(username='global_staff', email='global_staff@edx.org', is_staff=True)
|
||||
@@ -1721,7 +1725,10 @@ class GroupModeratorPermissionsTestCase(ModuleStoreTestCase):
|
||||
# Give group moderator permissions to group_moderator
|
||||
assign_role(self.course.id, self.group_moderator, 'Group Moderator')
|
||||
|
||||
@mock.patch('django_comment_client.permissions._check_condition', side_effect=_check_condition)
|
||||
@mock.patch(
|
||||
'lms.djangoapps.discussion.django_comment_client.permissions._check_condition',
|
||||
side_effect=_check_condition,
|
||||
)
|
||||
def test_not_divided(self, check_condition_function):
|
||||
"""
|
||||
Group moderator should not have moderator permissions if the discussions are not divided.
|
||||
@@ -1754,7 +1761,10 @@ class GroupModeratorPermissionsTestCase(ModuleStoreTestCase):
|
||||
'can_report': True
|
||||
})
|
||||
|
||||
@mock.patch('django_comment_client.permissions._check_condition', side_effect=_check_condition)
|
||||
@mock.patch(
|
||||
'lms.djangoapps.discussion.django_comment_client.permissions._check_condition',
|
||||
side_effect=_check_condition,
|
||||
)
|
||||
def test_divided_within_group(self, check_condition_function):
|
||||
"""
|
||||
Group moderator should have moderator permissions within their group if the discussions are divided.
|
||||
@@ -1783,7 +1793,10 @@ class GroupModeratorPermissionsTestCase(ModuleStoreTestCase):
|
||||
'can_report': True
|
||||
})
|
||||
|
||||
@mock.patch('django_comment_client.permissions._check_condition', side_effect=_check_condition)
|
||||
@mock.patch(
|
||||
'lms.djangoapps.discussion.django_comment_client.permissions._check_condition',
|
||||
side_effect=_check_condition,
|
||||
)
|
||||
def test_divided_outside_group(self, check_condition_function):
|
||||
"""
|
||||
Group moderator should not have moderator permissions outside of their group.
|
||||
@@ -4,5 +4,5 @@ Urls for the django_comment_client.
|
||||
from django.conf.urls import include, url
|
||||
|
||||
urlpatterns = [
|
||||
url(r'', include('django_comment_client.base.urls')),
|
||||
url(r'', include('lms.djangoapps.discussion.django_comment_client.base.urls')),
|
||||
]
|
||||
@@ -15,9 +15,9 @@ from six import text_type
|
||||
|
||||
from courseware import courses
|
||||
from courseware.access import has_access
|
||||
from django_comment_client.constants import TYPE_ENTRY, TYPE_SUBCATEGORY
|
||||
from django_comment_client.permissions import check_permissions_by_view, get_team, has_permission
|
||||
from django_comment_client.settings import MAX_COMMENT_DEPTH
|
||||
from lms.djangoapps.discussion.django_comment_client.constants import TYPE_ENTRY, TYPE_SUBCATEGORY
|
||||
from lms.djangoapps.discussion.django_comment_client.permissions import check_permissions_by_view, get_team, has_permission
|
||||
from lms.djangoapps.discussion.django_comment_client.settings import MAX_COMMENT_DEPTH
|
||||
from django_comment_common.models import (
|
||||
FORUM_ROLE_STUDENT,
|
||||
FORUM_ROLE_COMMUNITY_TA,
|
||||
@@ -5,7 +5,7 @@ Views handling read (GET) requests for the Discussion tab and inline discussions
|
||||
from django.conf import settings
|
||||
from django.utils.translation import ugettext_noop
|
||||
|
||||
import django_comment_client.utils as utils
|
||||
import lms.djangoapps.discussion.django_comment_client.utils as utils
|
||||
from courseware.tabs import EnrolledTab
|
||||
from xmodule.tabs import TabFragmentViewMixin
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@ from lms.djangoapps.discussion.rest_api.permissions import (
|
||||
get_initializable_thread_fields
|
||||
)
|
||||
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 lms.djangoapps.discussion.django_comment_client.base.views import track_comment_created_event, track_thread_created_event, track_voted_event
|
||||
from lms.djangoapps.discussion.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
|
||||
from django_comment_common.comment_client.thread import Thread
|
||||
from django_comment_common.comment_client.utils import CommentClientRequestError
|
||||
|
||||
@@ -12,7 +12,7 @@ from rest_framework import serializers
|
||||
from discussion.views import get_divided_discussions
|
||||
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 lms.djangoapps.discussion.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,
|
||||
FORUM_ROLE_COMMUNITY_TA,
|
||||
|
||||
@@ -38,7 +38,7 @@ from lms.djangoapps.discussion.rest_api.tests.utils import (
|
||||
make_minimal_cs_thread,
|
||||
make_paginated_api_response
|
||||
)
|
||||
from django_comment_client.tests.utils import ForumsEnableMixin
|
||||
from lms.djangoapps.discussion.django_comment_client.tests.utils import ForumsEnableMixin
|
||||
from django_comment_common.models import (
|
||||
FORUM_ROLE_ADMINISTRATOR,
|
||||
FORUM_ROLE_COMMUNITY_TA,
|
||||
|
||||
@@ -11,7 +11,7 @@ from django.test.client import RequestFactory
|
||||
|
||||
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 lms.djangoapps.discussion.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
|
||||
from django_comment_common.models import (
|
||||
|
||||
@@ -29,7 +29,7 @@ from lms.djangoapps.discussion.rest_api.tests.utils import (
|
||||
make_minimal_cs_thread,
|
||||
make_paginated_api_response
|
||||
)
|
||||
from django_comment_client.tests.utils import ForumsEnableMixin, config_course_discussions, topic_name_to_id
|
||||
from lms.djangoapps.discussion.django_comment_client.tests.utils import ForumsEnableMixin, config_course_discussions, topic_name_to_id
|
||||
from django_comment_common.models import CourseDiscussionSettings, Role
|
||||
from django_comment_common.utils import seed_permissions_roles
|
||||
from openedx.core.djangoapps.course_groups.tests.helpers import config_course_cohorts
|
||||
|
||||
@@ -17,7 +17,7 @@ from rest_framework.views import APIView
|
||||
from rest_framework.viewsets import ViewSet
|
||||
from six import text_type
|
||||
|
||||
from django_comment_client.utils import available_division_schemes
|
||||
from lms.djangoapps.discussion.django_comment_client.utils import available_division_schemes
|
||||
from django_comment_common import comment_client
|
||||
from django_comment_common.models import Role
|
||||
from django_comment_common.utils import get_course_discussion_settings, set_course_discussion_settings
|
||||
|
||||
@@ -10,7 +10,7 @@ from django.utils.translation import ugettext as _
|
||||
from django.template.defaultfilters import escapejs
|
||||
from django.urls import reverse
|
||||
|
||||
from django_comment_client.permissions import has_permission
|
||||
from lms.djangoapps.discussion.django_comment_client.permissions import has_permission
|
||||
from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_string
|
||||
from openedx.core.djangolib.markup import HTML
|
||||
%>
|
||||
|
||||
@@ -10,7 +10,7 @@ from django.utils.translation import ugettext as _, ungettext
|
||||
from django.template.defaultfilters import escapejs
|
||||
from django.urls import reverse
|
||||
|
||||
from django_comment_client.permissions import has_permission
|
||||
from lms.djangoapps.discussion.django_comment_client.permissions import has_permission
|
||||
from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_string
|
||||
%>
|
||||
|
||||
|
||||
@@ -14,21 +14,21 @@ from six import text_type
|
||||
|
||||
from course_modes.models import CourseMode
|
||||
from course_modes.tests.factories import CourseModeFactory
|
||||
from django_comment_client.constants import TYPE_ENTRY, TYPE_SUBCATEGORY
|
||||
from django_comment_client.permissions import get_team
|
||||
from django_comment_client.tests.group_id import (
|
||||
from lms.djangoapps.discussion.django_comment_client.constants import TYPE_ENTRY, TYPE_SUBCATEGORY
|
||||
from lms.djangoapps.discussion.django_comment_client.permissions import get_team
|
||||
from lms.djangoapps.discussion.django_comment_client.tests.group_id import (
|
||||
CohortedTopicGroupIdTestMixin,
|
||||
GroupIdAssertionMixin,
|
||||
NonCohortedTopicGroupIdTestMixin
|
||||
)
|
||||
from django_comment_client.tests.unicode import UnicodeTestMixin
|
||||
from django_comment_client.tests.utils import (
|
||||
from lms.djangoapps.discussion.django_comment_client.tests.unicode import UnicodeTestMixin
|
||||
from lms.djangoapps.discussion.django_comment_client.tests.utils import (
|
||||
CohortedTestCase,
|
||||
ForumsEnableMixin,
|
||||
config_course_discussions,
|
||||
topic_name_to_id
|
||||
)
|
||||
from django_comment_client.utils import strip_none
|
||||
from lms.djangoapps.discussion.django_comment_client.utils import strip_none
|
||||
from django_comment_common.comment_client.utils import CommentClientPaginatedResult
|
||||
from django_comment_common.models import (
|
||||
CourseDiscussionSettings,
|
||||
|
||||
@@ -23,16 +23,16 @@ from opaque_keys.edx.keys import CourseKey
|
||||
from rest_framework import status
|
||||
from web_fragments.fragment import Fragment
|
||||
|
||||
import django_comment_client.utils as utils
|
||||
import lms.djangoapps.discussion.django_comment_client.utils as utils
|
||||
import django_comment_common.comment_client as cc
|
||||
from lms.djangoapps.experiments.utils import get_experiment_user_metadata_context
|
||||
from courseware.access import has_access
|
||||
from courseware.courses import get_course_with_access
|
||||
from courseware.views.views import CourseTabView
|
||||
from django_comment_client.base.views import track_thread_viewed_event
|
||||
from django_comment_client.constants import TYPE_ENTRY
|
||||
from django_comment_client.permissions import get_team, has_permission
|
||||
from django_comment_client.utils import (
|
||||
from lms.djangoapps.discussion.django_comment_client.base.views import track_thread_viewed_event
|
||||
from lms.djangoapps.discussion.django_comment_client.constants import TYPE_ENTRY
|
||||
from lms.djangoapps.discussion.django_comment_client.permissions import get_team, has_permission
|
||||
from lms.djangoapps.discussion.django_comment_client.utils import (
|
||||
add_courseware_context,
|
||||
available_division_schemes,
|
||||
course_discussion_division_enabled,
|
||||
|
||||
@@ -48,7 +48,7 @@ from bulk_email.models import BulkEmailFlag, CourseEmail
|
||||
from courseware.access import has_access
|
||||
from courseware.courses import get_course_by_id, get_course_with_access
|
||||
from courseware.models import StudentModule
|
||||
from django_comment_client.utils import (
|
||||
from lms.djangoapps.discussion.django_comment_client.utils import (
|
||||
get_course_discussion_settings,
|
||||
get_group_id_for_user,
|
||||
get_group_name,
|
||||
|
||||
@@ -30,7 +30,7 @@ from class_dashboard.dashboard_data import get_array_section_has_problem, get_se
|
||||
from course_modes.models import CourseMode, CourseModesArchive
|
||||
from courseware.access import has_access
|
||||
from courseware.courses import get_course_by_id, get_studio_url
|
||||
from django_comment_client.utils import available_division_schemes, has_forum_access
|
||||
from lms.djangoapps.discussion.django_comment_client.utils import available_division_schemes, has_forum_access
|
||||
from django_comment_common.models import FORUM_ROLE_ADMINISTRATOR, CourseDiscussionSettings
|
||||
from edxmako.shortcuts import render_to_response
|
||||
from edx_when.api import is_enabled_for_course
|
||||
|
||||
@@ -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.rest_api
|
||||
Handle user activity from lms.djangoapps.discussion.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.
|
||||
|
||||
@@ -22,7 +22,7 @@ from rest_framework.views import APIView
|
||||
from rest_framework_oauth.authentication import OAuth2Authentication
|
||||
|
||||
from courseware.courses import get_course_with_access, has_access
|
||||
from django_comment_client.utils import has_discussion_privileges
|
||||
from lms.djangoapps.discussion.django_comment_client.utils import has_discussion_privileges
|
||||
from lms.djangoapps.teams.models import CourseTeam, CourseTeamMembership
|
||||
from edx_rest_framework_extensions.paginators import DefaultPagination, paginate_search_results
|
||||
from openedx.core.lib.api.parsers import MergePatchParser
|
||||
|
||||
@@ -1242,7 +1242,7 @@ MIDDLEWARE_CLASSES = [
|
||||
'mobile_api.middleware.AppVersionUpgrade',
|
||||
'openedx.core.djangoapps.header_control.middleware.HeaderControlMiddleware',
|
||||
'microsite_configuration.middleware.MicrositeMiddleware',
|
||||
'django_comment_client.middleware.AjaxExceptionMiddleware',
|
||||
'lms.djangoapps.discussion.django_comment_client.middleware.AjaxExceptionMiddleware',
|
||||
'django.middleware.common.CommonMiddleware',
|
||||
'django.contrib.sites.middleware.CurrentSiteMiddleware',
|
||||
'edx_rest_framework_extensions.auth.jwt.middleware.JwtAuthCookieMiddleware',
|
||||
@@ -1291,7 +1291,7 @@ MIDDLEWARE_CLASSES = [
|
||||
# Must be after DarkLangMiddleware.
|
||||
'django.middleware.locale.LocaleMiddleware',
|
||||
|
||||
'django_comment_client.utils.ViewNameMiddleware',
|
||||
'lms.djangoapps.discussion.django_comment_client.utils.ViewNameMiddleware',
|
||||
'codejail.django_integration.ConfigureCodeJailMiddleware',
|
||||
|
||||
# catches any uncaught RateLimitExceptions and returns a 403 instead of a 500
|
||||
@@ -2123,7 +2123,6 @@ INSTALLED_APPS = [
|
||||
'openedx.core.djangoapps.util.apps.UtilConfig',
|
||||
|
||||
# Discussion forums
|
||||
'django_comment_client',
|
||||
'django_comment_common',
|
||||
|
||||
# Notes
|
||||
|
||||
@@ -36,7 +36,7 @@ import logging
|
||||
LOG_OVERRIDES = [
|
||||
('track.contexts', logging.CRITICAL),
|
||||
('track.middleware', logging.CRITICAL),
|
||||
('django_comment_client.utils', logging.CRITICAL),
|
||||
('lms.djangoapps.discussion.django_comment_client.utils', logging.CRITICAL),
|
||||
]
|
||||
for log_name, log_level in LOG_OVERRIDES:
|
||||
logging.getLogger(log_name).setLevel(log_level)
|
||||
@@ -60,7 +60,7 @@ DJFS = {
|
||||
|
||||
INSTALLED_APPS += ['debug_toolbar', 'debug_toolbar_mongo']
|
||||
MIDDLEWARE_CLASSES += [
|
||||
'django_comment_client.utils.QueryCountDebugMiddleware',
|
||||
'lms.djangoapps.discussion.django_comment_client.utils.QueryCountDebugMiddleware',
|
||||
'debug_toolbar.middleware.DebugToolbarMiddleware',
|
||||
]
|
||||
|
||||
|
||||
@@ -710,7 +710,7 @@ if settings.FEATURES.get('ENABLE_DISCUSSION_SERVICE'):
|
||||
r'^courses/{}/discussion/'.format(
|
||||
settings.COURSE_ID_PATTERN,
|
||||
),
|
||||
include('django_comment_client.urls')
|
||||
include('lms.djangoapps.discussion.django_comment_client.urls')
|
||||
),
|
||||
url(
|
||||
r'^notification_prefs/enable/',
|
||||
|
||||
@@ -17,7 +17,7 @@ from opaque_keys.edx.django.models import CourseKeyField, UsageKeyField
|
||||
from six import text_type
|
||||
|
||||
from config_models.models import ConfigurationModel
|
||||
from lms.djangoapps import django_comment_client
|
||||
from lms.djangoapps.discussion import django_comment_client
|
||||
from openedx.core.djangoapps.catalog.models import CatalogIntegration
|
||||
from openedx.core.djangoapps.lang_pref.api import get_closest_released_language
|
||||
from openedx.core.djangoapps.models.course_details import CourseDetails
|
||||
|
||||
@@ -161,7 +161,7 @@ class DiscussionXBlock(XBlock, StudioEditableXBlockMixin, XmlParserMixin):
|
||||
:rtype: bool
|
||||
"""
|
||||
# normal import causes the xmodule_assets command to fail due to circular import - hence importing locally
|
||||
from django_comment_client.permissions import has_permission
|
||||
from lms.djangoapps.discussion.django_comment_client.permissions import has_permission
|
||||
|
||||
return has_permission(self.django_user, permission, self.course_key)
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ from django_comment_common.models import (
|
||||
FORUM_ROLE_COMMUNITY_TA,
|
||||
Role
|
||||
)
|
||||
from django_comment_client.tests.factories import RoleFactory
|
||||
from lms.djangoapps.discussion.django_comment_client.tests.factories import RoleFactory
|
||||
from course_modes.tests.factories import CourseModeFactory
|
||||
from experiments.models import ExperimentData, ExperimentKeyValue
|
||||
from xmodule.partitions.partitions import ENROLLMENT_TRACK_PARTITION_ID
|
||||
|
||||
@@ -15,7 +15,7 @@ import json
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.template.defaultfilters import escapejs
|
||||
|
||||
from django_comment_client.permissions import has_permission
|
||||
from lms.djangoapps.discussion.django_comment_client.permissions import has_permission
|
||||
from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_string
|
||||
from openedx.core.djangolib.markup import HTML
|
||||
from openedx.features.course_experience import course_home_page_title
|
||||
|
||||
@@ -11,7 +11,7 @@ import ddt
|
||||
import mock
|
||||
|
||||
from course_modes.models import CourseMode
|
||||
from django_comment_client.tests.factories import RoleFactory
|
||||
from lms.djangoapps.discussion.django_comment_client.tests.factories import RoleFactory
|
||||
from django_comment_common.models import (
|
||||
FORUM_ROLE_ADMINISTRATOR,
|
||||
FORUM_ROLE_MODERATOR,
|
||||
|
||||
@@ -11,7 +11,7 @@ from django.utils.translation import ugettext as _
|
||||
from django.template.defaultfilters import escapejs
|
||||
from django.urls import reverse
|
||||
|
||||
from django_comment_client.permissions import has_permission
|
||||
from lms.djangoapps.discussion.django_comment_client.permissions import has_permission
|
||||
from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_string
|
||||
from openedx.core.djangolib.markup import HTML
|
||||
from openedx.features.course_experience import UNIFIED_COURSE_TAB_FLAG, SHOW_REVIEWS_TOOL_FLAG
|
||||
|
||||
@@ -21,14 +21,6 @@ from waffle.testutils import override_flag
|
||||
from course_modes.models import CourseMode
|
||||
from course_modes.tests.factories import CourseModeFactory
|
||||
from courseware.tests.helpers import get_expiration_banner_text
|
||||
|
||||
from django_comment_client.tests.factories import RoleFactory
|
||||
from django_comment_common.models import (
|
||||
FORUM_ROLE_ADMINISTRATOR,
|
||||
FORUM_ROLE_COMMUNITY_TA,
|
||||
FORUM_ROLE_GROUP_MODERATOR,
|
||||
FORUM_ROLE_MODERATOR
|
||||
)
|
||||
from experiments.models import ExperimentData
|
||||
from lms.djangoapps.commerce.models import CommerceConfiguration
|
||||
from lms.djangoapps.commerce.utils import EcommerceService
|
||||
@@ -41,8 +33,15 @@ from lms.djangoapps.courseware.tests.factories import (
|
||||
OrgStaffFactory,
|
||||
StaffFactory
|
||||
)
|
||||
from lms.djangoapps.discussion.django_comment_client.tests.factories import RoleFactory
|
||||
from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
|
||||
from openedx.core.djangoapps.dark_lang.models import DarkLangConfig
|
||||
from openedx.core.djangoapps.django_comment_common.models import (
|
||||
FORUM_ROLE_ADMINISTRATOR,
|
||||
FORUM_ROLE_COMMUNITY_TA,
|
||||
FORUM_ROLE_GROUP_MODERATOR,
|
||||
FORUM_ROLE_MODERATOR
|
||||
)
|
||||
from openedx.core.djangoapps.schedules.tests.factories import ScheduleFactory
|
||||
from openedx.core.djangoapps.waffle_utils.testutils import WAFFLE_TABLES, override_waffle_flag
|
||||
from openedx.features.course_duration_limits.config import EXPERIMENT_DATA_HOLDBACK_KEY, EXPERIMENT_ID
|
||||
|
||||
@@ -12,7 +12,7 @@ from django.utils.translation import ugettext as _
|
||||
from django.template.defaultfilters import escapejs
|
||||
from django.urls import reverse
|
||||
|
||||
from django_comment_client.permissions import has_permission
|
||||
from lms.djangoapps.discussion.django_comment_client.permissions import has_permission
|
||||
from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_string
|
||||
from openedx.core.djangolib.markup import HTML
|
||||
from openedx.features.course_experience import course_home_page_title
|
||||
|
||||
Reference in New Issue
Block a user