diff --git a/lms/djangoapps/django_comment_client/forum/views.py b/lms/djangoapps/django_comment_client/forum/views.py index fd71c0abfb..51d3a78d03 100644 --- a/lms/djangoapps/django_comment_client/forum/views.py +++ b/lms/djangoapps/django_comment_client/forum/views.py @@ -30,7 +30,7 @@ def _general_discussion_id(course_id): def _should_perform_search(request): return bool(request.GET.get('text', False) or \ request.GET.get('tags', False)) - + def render_accordion(request, course, discussion_id): @@ -59,7 +59,7 @@ def render_discussion(request, course_id, threads, *args, **kwargs): }[discussion_type] base_url = { - 'inline': (lambda: reverse('django_comment_client.forum.views.inline_discussion', args=[course_id, discussion_id])), + 'inline': (lambda: reverse('django_comment_client.forum.views.inline_discussion', args=[course_id, discussion_id])), 'forum': (lambda: reverse('django_comment_client.forum.views.forum_form_discussion', args=[course_id])), 'user': (lambda: reverse('django_comment_client.forum.views.user_profile', args=[course_id, user_id])), }[discussion_type]() @@ -123,12 +123,14 @@ def get_threads(request, course_id, discussion_id=None): # discussion per page is fixed for now def inline_discussion(request, course_id, discussion_id): threads, query_params = get_threads(request, course_id, discussion_id) - html = render_inline_discussion(request, course_id, threads, discussion_id=discussion_id, \ - query_params=query_params) - + # TODO: Remove all of this stuff or switch back to server side rendering once templates are mustache again +# html = render_inline_discussion(request, course_id, threads, discussion_id=discussion_id, \ +# query_params=query_params) + user_info = cc.User.from_django_user(request.user).to_dict() return utils.JsonResponse({ - 'html': html, +# 'html': html, 'discussion_data': map(utils.safe_content, threads), + 'user_info': user_info, }) def render_search_bar(request, course_id, discussion_id=None, text=''): @@ -215,6 +217,7 @@ def single_thread(request, course_id, discussion_id, thread_id): thread = cc.Thread.find(thread_id).retrieve(recursive=True) annotated_content_info = utils.get_annotated_content_infos(course_id, thread, request.user, user_info=user_info) context = {'thread': thread.to_dict(), 'course_id': course_id} + # TODO: Remove completely or switch back to server side rendering html = render_to_string('discussion/_ajax_single_thread.html', context) return utils.JsonResponse({ @@ -287,7 +290,7 @@ def user_profile(request, course_id, user_id): }) else: context = { - 'course': course, + 'course': course, 'user': request.user, 'django_user': User.objects.get(id=user_id), 'profiled_user': profiled_user.to_dict(), diff --git a/lms/static/coffee/src/discussion/discussion_module.coffee b/lms/static/coffee/src/discussion/discussion_module.coffee index 8306d4d2ae..f0f54bada7 100644 --- a/lms/static/coffee/src/discussion/discussion_module.coffee +++ b/lms/static/coffee/src/discussion/discussion_module.coffee @@ -23,12 +23,17 @@ if Backbone? type: "GET" dataType: 'json' success: (response, textStatus) => - @$el.append(response.html) - $discussion = @$el.find("section.discussion") + #@$el.append(response.html) + window.user = new DiscussionUser(response.user_info) $(event.target).html("Hide Discussion") discussion = new Discussion() discussion.reset(response.discussion_data, {silent: false}) - view = new DiscussionView(el: $discussion[0], model: discussion) + $discussion = $(Mustache.render $("script#_inline_discussion").html(), {'threads':response.discussion_data}) + $(".discussion-module").append($discussion) + discussion.each (thread) -> + element = $("article#thread_#{thread.id}") + dtv = new DiscussionThreadView el: element, model: thread + dtv.render() DiscussionUtil.bulkUpdateContentInfo(window.$$annotated_content_info) @retrieved = true @showed = true diff --git a/lms/static/coffee/src/discussion/utils.coffee b/lms/static/coffee/src/discussion/utils.coffee index fa0bbda5e8..4beec4734d 100644 --- a/lms/static/coffee/src/discussion/utils.coffee +++ b/lms/static/coffee/src/discussion/utils.coffee @@ -1,4 +1,6 @@ $ -> + if !window.$$contents + window.$$contents = {} $.fn.extend loading: -> @$_loading = $("") diff --git a/lms/static/coffee/src/discussion/views/discussion_thread_view.coffee b/lms/static/coffee/src/discussion/views/discussion_thread_view.coffee index 061e1afbc7..b97fbc30cf 100644 --- a/lms/static/coffee/src/discussion/views/discussion_thread_view.coffee +++ b/lms/static/coffee/src/discussion/views/discussion_thread_view.coffee @@ -46,7 +46,7 @@ class @DiscussionThreadView extends DiscussionContentView renderResponses: -> DiscussionUtil.safeAjax - url: @model.id + url: "/courses/#{$$course_id}/discussion/forum/#{@model.get('commentable_id')}/threads/#{@model.id}" success: (data, textStatus, xhr) => @$(".loading").remove() Content.loadContentInfos(data['annotated_content_info']) diff --git a/lms/static/sass/_discussion.scss b/lms/static/sass/_discussion.scss index 3734236685..79e8210a05 100644 --- a/lms/static/sass/_discussion.scss +++ b/lms/static/sass/_discussion.scss @@ -1393,13 +1393,6 @@ body.discussion { - - - - - - - .global-discussion-actions { height: 60px; @include linear-gradient(top, #ebebeb, #d9d9d9); @@ -1407,21 +1400,13 @@ body.discussion { border-bottom: 1px solid #bcbcbc; } +.discussion-module { + @extend .discussion-body +} - - - - - - - - - - - - - - - - - +/* For some reason I have to do this to get the SCSS to compile, can't stick it under the above .discussion-module */ +.discussion-module { + .discussion-reply-new { + display:none + } +} diff --git a/lms/templates/discussion/_discussion_module.html b/lms/templates/discussion/_discussion_module.html index b9e69cc0ad..99c0602b41 100644 --- a/lms/templates/discussion/_discussion_module.html +++ b/lms/templates/discussion/_discussion_module.html @@ -1,3 +1,5 @@ +<%include file="_underscore_templates.html" /> +
diff --git a/lms/templates/discussion/_underscore_templates.html b/lms/templates/discussion/_underscore_templates.html index ae92fba003..64fca600e4 100644 --- a/lms/templates/discussion/_underscore_templates.html +++ b/lms/templates/discussion/_underscore_templates.html @@ -6,7 +6,7 @@ ${'<%- votes["up_count"] %>'}- sometime by + ${'<%- created_at %>'} by ${'<%- username %>'}
@@ -26,7 +26,7 @@