Skip to content

Commit

Permalink
Move django_comment_client to discussion/
Browse files Browse the repository at this point in the history
  • Loading branch information
nasthagiri committed May 3, 2019
1 parent b949452 commit e160b23
Show file tree
Hide file tree
Showing 67 changed files with 100 additions and 81 deletions.
4 changes: 2 additions & 2 deletions common/djangoapps/django_comment_common/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand Down Expand Up @@ -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):
Expand Down
2 changes: 1 addition & 1 deletion lms/djangoapps/ccx/tests/test_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
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
Expand Down
5 changes: 4 additions & 1 deletion lms/djangoapps/courseware/tests/test_discussion_xblock.py
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,10 @@ def test_has_permission(self):
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')
Expand Down
1 change: 0 additions & 1 deletion lms/djangoapps/discussion/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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``
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,14 @@
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,
Expand Down Expand Up @@ -641,7 +641,10 @@ def test_update_thread_course_topic(self, mock_request):
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",
Expand Down Expand Up @@ -1233,7 +1236,10 @@ def setUpTestData(cls):
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, {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"""
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'),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@
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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

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__)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

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):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
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


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@
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,
Expand Down Expand Up @@ -1592,7 +1592,9 @@ def test_get_ability(self):
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,
Expand Down Expand Up @@ -1620,7 +1622,9 @@ def test_get_ability_with_global_staff(self):
"""
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='[email protected]', is_staff=True)
Expand Down Expand Up @@ -1721,7 +1725,10 @@ def setUp(self):
# 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.
Expand Down Expand Up @@ -1754,7 +1761,10 @@ def test_not_divided(self, check_condition_function):
'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.
Expand Down Expand Up @@ -1783,7 +1793,10 @@ def test_divided_within_group(self, check_condition_function):
'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.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@
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')),
]
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@

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,
Expand Down
2 changes: 1 addition & 1 deletion lms/djangoapps/discussion/plugins.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
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

Expand Down
4 changes: 2 additions & 2 deletions lms/djangoapps/discussion/rest_api/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
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
Expand Down
2 changes: 1 addition & 1 deletion lms/djangoapps/discussion/rest_api/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
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,
Expand Down
2 changes: 1 addition & 1 deletion lms/djangoapps/discussion/rest_api/tests/test_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

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 (
Expand Down
2 changes: 1 addition & 1 deletion lms/djangoapps/discussion/rest_api/tests/test_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
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
Expand Down
2 changes: 1 addition & 1 deletion lms/djangoapps/discussion/rest_api/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
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
%>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
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
%>

Expand Down
12 changes: 6 additions & 6 deletions lms/djangoapps/discussion/tests/test_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,21 +14,21 @@

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,
Expand Down
10 changes: 5 additions & 5 deletions lms/djangoapps/discussion/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,16 @@
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,
Expand Down
2 changes: 1 addition & 1 deletion lms/djangoapps/instructor/views/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
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,
Expand Down
Loading

0 comments on commit e160b23

Please sign in to comment.