diff --git a/common/static/coffee/src/discussion/discussion_module_view.coffee b/common/static/coffee/src/discussion/discussion_module_view.coffee
index 4e4c2d1e7a..2e58b2c0b8 100644
--- a/common/static/coffee/src/discussion/discussion_module_view.coffee
+++ b/common/static/coffee/src/discussion/discussion_module_view.coffee
@@ -79,7 +79,7 @@ if Backbone?
#determined in the coffeescript based on whether or not there's a
#group id
- if response.is_cohorted
+ if response.is_cohorted and response.is_moderator
source = "script#_inline_discussion_cohorted"
else
source = "script#_inline_discussion"
diff --git a/lms/djangoapps/django_comment_client/base/views.py b/lms/djangoapps/django_comment_client/base/views.py
index e4e5ce1550..a479fd530f 100644
--- a/lms/djangoapps/django_comment_client/base/views.py
+++ b/lms/djangoapps/django_comment_client/base/views.py
@@ -98,22 +98,24 @@ def create_thread(request, course_id, commentable_id):
#by the group id in the request this all goes away
# Cohort the thread if the commentable is cohorted.
- #if is_commentable_cohorted(course_id, commentable_id):
- # user_group_id = get_cohort_id(user, course_id)
+ if is_commentable_cohorted(course_id, commentable_id):
+ user_group_id = get_cohort_id(user, course_id)
+
# TODO (vshnayder): once we have more than just cohorts, we'll want to
# change this to a single get_group_for_user_and_commentable function
# that can do different things depending on the commentable_id
- # if cached_has_permission(request.user, "see_all_cohorts", course_id):
+ if cached_has_permission(request.user, "see_all_cohorts", course_id):
# admins can optionally choose what group to post as
- # group_id = post.get('group_id', user_group_id)
- # else:
+ group_id = post.get('group_id', user_group_id)
+ else:
# regular users always post with their own id.
- # group_id = user_group_id
- group_id = post.get('group_id')
+ group_id = user_group_id
+# group_id = post.get('group_id')
+
if group_id:
thread.update_attributes(group_id=group_id)
- log.debug("Saving thread %r", thread.attributes)
+ #log.debug("Saving thread %r", thread.attributes)
thread.save()
if post.get('auto_subscribe', 'false').lower() == 'true':
diff --git a/lms/djangoapps/django_comment_client/forum/views.py b/lms/djangoapps/django_comment_client/forum/views.py
index bb1dc00339..8a3bfa7510 100644
--- a/lms/djangoapps/django_comment_client/forum/views.py
+++ b/lms/djangoapps/django_comment_client/forum/views.py
@@ -133,14 +133,18 @@ def inline_discussion(request, course_id, discussion_id):
#if the commentable is cohorted, otherwise everything is not cohorted
#and no one has the option of choosing a cohort
is_cohorted = is_course_cohorted(course_id) and is_commentable_cohorted(course_id, discussion_id)
-
+ is_moderator = cached_has_permission(request.user, "see_all_cohorts", course_id)
+
cohorts_list = list()
if is_cohorted:
cohorts_list.append({'name':'All Groups','id':None})
#if you're a mod, send all cohorts and let you pick
- if cached_has_permission(request.user, "see_all_cohorts", course_id):
+
+
+
+ if is_moderator:
cohorts = get_course_cohorts(course_id)
for c in cohorts:
cohorts_list.append({'name':c.name, 'id':c.id})
@@ -171,6 +175,7 @@ def inline_discussion(request, course_id, discussion_id):
'allow_anonymous_to_peers': allow_anonymous_to_peers,
'allow_anonymous': allow_anonymous,
'cohorts': cohorts_list,
+ 'is_moderator': is_moderator,
'is_cohorted': is_cohorted
})
diff --git a/lms/templates/discussion/_new_post.html b/lms/templates/discussion/_new_post.html
index feaabf894c..7848dd1488 100644
--- a/lms/templates/discussion/_new_post.html
+++ b/lms/templates/discussion/_new_post.html
@@ -53,7 +53,7 @@
%for c in cohorts: