Commit acb0ef85 by Kelketek

Merge pull request #524 from edx-solutions/private-discussions-fix

Private discussions fix
parents 2062df50 976c98bf
......@@ -6,6 +6,7 @@ from django.core.urlresolvers import reverse
from django.http import Http404
from django.test.client import Client, RequestFactory
from django.test.utils import override_settings
from django_comment_client.forum.views import get_threads
from edxmako.tests import mako_middleware_process_request
from django_comment_client.forum import views
......@@ -1337,3 +1338,29 @@ class EnrollmentTestCase(ModuleStoreTestCase):
request.user = self.student
with self.assertRaises(UserNotEnrolled):
views.forum_form_discussion(request, course_id=self.course.id.to_deprecated_string())
class ThreadListingTestCase(CohortedTestCase):
"""
Test to make sure that queries for threads are only for those a user is allowed to view.
"""
@patch('lms.lib.comment_client.utils.requests.request')
def test_index_send_id(self, _mock_request):
request = RequestFactory().get('dummy_url')
request.user = self.student
_threads, params = get_threads(request, self.course)
self.assertEqual(params['group_id'], self.student_cohort.id)
@patch('lms.lib.comment_client.utils.requests.request')
def test_cohorted_commentable_send_id(self, _mock_request):
request = RequestFactory().get('dummy_url')
request.user = self.student
_threads, params = get_threads(request, self.course, 'cohorted_topic')
self.assertEqual(params['group_id'], self.student_cohort.id)
@patch('lms.lib.comment_client.utils.requests.request')
def test_non_cohorted_commentable_does_not_send_id(self, _mock_request):
request = RequestFactory().get('dummy_url')
request.user = self.student
_threads, params = get_threads(request, self.course, 'non_cohorted_topic')
self.assertNotIn('group_id', params)
......@@ -139,7 +139,10 @@ def get_threads(request, course, discussion_id=None, per_page=THREADS_PER_PAGE):
#if the user requested a group explicitly, give them that group, otherwise, if mod, show all, else if student, use cohort
is_cohorted = is_commentable_cohorted(course.id, discussion_id)
if discussion_id:
is_cohorted = is_commentable_cohorted(course.id, discussion_id)
else:
is_cohorted = is_course_cohorted(course.id)
if has_permission(request.user, "see_all_cohorts", course.id):
group_id = request.GET.get('group_id')
......
......@@ -781,6 +781,10 @@ NOTIFICATION_EMAIL_FROM_ADDRESS = ENV_TOKENS.get(
'NOTIFICATION_EMAIL_FROM_ADDRESS',
NOTIFICATION_EMAIL_FROM_ADDRESS
)
NOTIFICATION_APP_HOSTNAME = ENV_TOKENS.get(
'NOTIFICATION_APP_HOSTNAME',
SITE_NAME
)
NOTIFICATION_EMAIL_CLICK_LINK_ROOT = ENV_TOKENS.get(
'NOTIFICATION_EMAIL_CLICK_LINK_ROOT',
NOTIFICATION_EMAIL_CLICK_LINK_ROOT
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment