diff --git a/lms/djangoapps/django_comment_client/forum/views.py b/lms/djangoapps/django_comment_client/forum/views.py index 4607cc10c5..af896f6f80 100644 --- a/lms/djangoapps/django_comment_client/forum/views.py +++ b/lms/djangoapps/django_comment_client/forum/views.py @@ -13,7 +13,7 @@ from courseware.access import has_access from urllib import urlencode from operator import methodcaller from django_comment_client.permissions import check_permissions_by_view -from django_comment_client.utils import merge_dict, extract, strip_none, strip_blank +from django_comment_client.utils import merge_dict, extract, strip_none, strip_blank, get_courseware_context import json import django_comment_client.utils as utils @@ -71,6 +71,15 @@ def render_discussion(request, course_id, threads, *args, **kwargs): annotated_content_info = reduce(merge_dict, map(infogetter, threads), {}) + if discussion_type != 'inline': + course = get_course_with_access(request.user, course_id, 'load') + + for thread in threads: + courseware_context = get_courseware_context(thread, course) + if courseware_context: + thread['courseware_location'] = courseware_context['courseware_location'] + thread['courseware_title'] = courseware_context['courseware_title'] + context = { 'threads': threads, 'discussion_id': discussion_id, @@ -231,15 +240,23 @@ def single_thread(request, course_id, discussion_id, thread_id): category_map = utils.get_discussion_category_map(course) threads, query_params = get_threads(request, course_id) - recent_active_threads = cc.search_recent_active_threads( - course_id, - recursive=False, - query_params={'follower_id': request.user.id}, - ) + course = get_course_with_access(request.user, course_id, 'load') - trending_tags = cc.search_trending_tags( - course_id, - ) + for thread in threads: + courseware_context = get_courseware_context(thread, course) + if courseware_context: + thread['courseware_location'] = courseware_context['courseware_location'] + thread['courseware_title'] = courseware_context['courseware_title'] + + #recent_active_threads = cc.search_recent_active_threads( + # course_id, + # recursive=False, + # query_params={'follower_id': request.user.id}, + #) + + #trending_tags = cc.search_trending_tags( + # course_id, + #) user_info = cc.User.from_django_user(request.user).to_dict() escapedict = {'"': '"'} @@ -256,8 +273,8 @@ def single_thread(request, course_id, discussion_id, thread_id): 'user_info': saxutils.escape(json.dumps(user_info),escapedict), 'annotated_content_info': saxutils.escape(json.dumps(annotated_content_info), escapedict), 'course': course, - 'recent_active_threads': recent_active_threads, - 'trending_tags': trending_tags, + #'recent_active_threads': recent_active_threads, + #'trending_tags': trending_tags, 'course_id': course.id, 'thread_id': thread_id, 'threads': saxutils.escape(json.dumps(threads), escapedict), diff --git a/lms/djangoapps/django_comment_client/utils.py b/lms/djangoapps/django_comment_client/utils.py index 373611380d..b0a570caad 100644 --- a/lms/djangoapps/django_comment_client/utils.py +++ b/lms/djangoapps/django_comment_client/utils.py @@ -124,10 +124,7 @@ def initialize_discussion_info(course): category_map['entries'][topic] = {"id": entry["id"], "sort_key": entry.get("sort_key", topic)} - sort_map_entries(category_map) - #for level in category_map["subcategories"].values(): - # sort_map_entries(level) _DISCUSSIONINFO = {} @@ -135,12 +132,15 @@ def initialize_discussion_info(course): _DISCUSSIONINFO['category_map'] = category_map - # TODO delete me when you've used me - #_DISCUSSIONINFO['categorized']['General'] = [{ - # 'title': 'General', - # 'discussion_id': url_course_id, - # 'category': 'General', - #}] +def get_courseware_context(content, course): + id_map = get_discussion_id_map(course) + id = content['commentable_id'] + content_info = None + if id in id_map: + location = id_map[id]["location"].url() + title = id_map[id]["title"] + content_info = { "courseware_location": location, "courseware_title": title} + return content_info class JsonResponse(HttpResponse): def __init__(self, data=None): diff --git a/lms/static/sass/_discussion.scss b/lms/static/sass/_discussion.scss index e970c2d6d0..7f0f6dba78 100644 --- a/lms/static/sass/_discussion.scss +++ b/lms/static/sass/_discussion.scss @@ -1074,6 +1074,12 @@ body.discussion { color: #888; } + .post-context{ + margin-top: 20px; + font-size: 12px; + color: #888; + } + p + p { margin-top: 20px; } diff --git a/lms/templates/discussion/_underscore_templates.html b/lms/templates/discussion/_underscore_templates.html index 3959b336e4..0244895e1c 100644 --- a/lms/templates/discussion/_underscore_templates.html +++ b/lms/templates/discussion/_underscore_templates.html @@ -13,6 +13,14 @@