diff --git a/common/lib/xmodule/xmodule/course_module.py b/common/lib/xmodule/xmodule/course_module.py
index a29fcd755d..812846c322 100644
--- a/common/lib/xmodule/xmodule/course_module.py
+++ b/common/lib/xmodule/xmodule/course_module.py
@@ -913,6 +913,19 @@ class CourseDescriptor(CourseFields, SequenceDescriptor):
return set(config.get("cohorted_discussions", []))
+ @property
+ def always_cohort_inline_discussions(self):
+ """
+ This allow to change the default behavior of inline discussions cohorting. By
+ setting this to False, all inline discussions are non-cohorted unless their
+ ids are specified in cohorted_discussions.
+ """
+ config = self.cohort_config
+ if config is None:
+ return True
+
+ return bool(config.get("always_cohort_inline_discussions", True))
+
@property
def is_newish(self):
"""
diff --git a/common/lib/xmodule/xmodule/discussion_module.py b/common/lib/xmodule/xmodule/discussion_module.py
index 1bcdf20fb9..4e952ec983 100644
--- a/common/lib/xmodule/xmodule/discussion_module.py
+++ b/common/lib/xmodule/xmodule/discussion_module.py
@@ -11,7 +11,11 @@ _ = lambda text: text
class DiscussionFields(object):
- discussion_id = String(scope=Scope.settings, default="$$GUID$$")
+ discussion_id = String(
+ display_name=_("Discussion Id"),
+ help=_("The id is a unique identifier for the discussion. It is non editable."),
+ scope=Scope.settings,
+ default="$$GUID$$")
display_name = String(
display_name=_("Display Name"),
help=_("Display name for this module"),
diff --git a/common/static/coffee/src/discussion/discussion_module_view.coffee b/common/static/coffee/src/discussion/discussion_module_view.coffee
index 6986b114d4..8f27943560 100644
--- a/common/static/coffee/src/discussion/discussion_module_view.coffee
+++ b/common/static/coffee/src/discussion/discussion_module_view.coffee
@@ -116,7 +116,8 @@ if Backbone?
el: @newPostForm,
collection: @discussion,
course_settings: @course_settings,
- topicId: discussionId
+ topicId: discussionId,
+ is_commentable_cohorted: response.is_commentable_cohorted
)
@newPostView.render()
@listenTo( @newPostView, 'newPost:cancel', @hideNewPost )
diff --git a/common/static/coffee/src/discussion/views/new_post_view.coffee b/common/static/coffee/src/discussion/views/new_post_view.coffee
index 1fc3cb2813..a12f8d3463 100644
--- a/common/static/coffee/src/discussion/views/new_post_view.coffee
+++ b/common/static/coffee/src/discussion/views/new_post_view.coffee
@@ -6,12 +6,14 @@ if Backbone?
if @mode not in ["tab", "inline"]
throw new Error("invalid mode: " + @mode)
@course_settings = options.course_settings
+ @is_commentable_cohorted = options.is_commentable_cohorted
@topicId = options.topicId
render: () ->
context = _.clone(@course_settings.attributes)
_.extend(context, {
cohort_options: @getCohortOptions(),
+ is_commentable_cohorted: @is_commentable_cohorted,
mode: @mode,
form_id: @mode + (if @topicId then "-" + @topicId else "")
})
diff --git a/lms/djangoapps/django_comment_client/forum/views.py b/lms/djangoapps/django_comment_client/forum/views.py
index 96ccddfe52..c2e08a3b61 100644
--- a/lms/djangoapps/django_comment_client/forum/views.py
+++ b/lms/djangoapps/django_comment_client/forum/views.py
@@ -154,6 +154,7 @@ def inline_discussion(request, course_id, discussion_id):
with newrelic.agent.FunctionTrace(nr_transaction, "add_courseware_context"):
add_courseware_context(threads, course)
return utils.JsonResponse({
+ 'is_commentable_cohorted': is_commentable_cohorted(course_key, discussion_id),
'discussion_data': threads,
'user_info': user_info,
'annotated_content_info': annotated_content_info,
diff --git a/lms/templates/discussion/_discussion_module_studio.html b/lms/templates/discussion/_discussion_module_studio.html
index b2b846a4a3..116f020357 100644
--- a/lms/templates/discussion/_discussion_module_studio.html
+++ b/lms/templates/discussion/_discussion_module_studio.html
@@ -4,7 +4,8 @@
- ${_("To view live discussions, click Preview or View Live in Unit Settings.")}
+ ${_("To view live discussions, click Preview or View Live in Unit Settings.")}
+ ${_("Discussion ID: {discussion_id}").format(discussion_id=discussion_id)}
diff --git a/lms/templates/discussion/_underscore_templates.html b/lms/templates/discussion/_underscore_templates.html
index f1872de3ca..2d6e88d760 100644
--- a/lms/templates/discussion/_underscore_templates.html
+++ b/lms/templates/discussion/_underscore_templates.html
@@ -390,7 +390,7 @@
## Translators: This labels the selector for which group of students can view a post
${_("Visible To:")}
-