From 58fc3eca12934aa0cbf503753c1b96be9593e44b Mon Sep 17 00:00:00 2001 From: Ibrahim Awwal Date: Thu, 13 Sep 2012 02:20:35 -0700 Subject: [PATCH] Fix staff markers for inline threads and double staff markers for threads with deeply nested comments. --- lms/djangoapps/django_comment_client/forum/views.py | 3 ++- .../coffee/src/discussion/discussion_module_view.coffee | 5 +++-- lms/static/coffee/src/discussion/main.coffee | 1 + lms/static/coffee/src/discussion/utils.coffee | 9 +++++++-- .../src/discussion/views/response_comment_view.coffee | 2 +- lms/templates/discussion/_underscore_templates.html | 2 +- 6 files changed, 15 insertions(+), 7 deletions(-) diff --git a/lms/djangoapps/django_comment_client/forum/views.py b/lms/djangoapps/django_comment_client/forum/views.py index 2c919acc48..b41cb8e3ab 100644 --- a/lms/djangoapps/django_comment_client/forum/views.py +++ b/lms/djangoapps/django_comment_client/forum/views.py @@ -172,7 +172,8 @@ def inline_discussion(request, course_id, discussion_id): 'user_info': user_info, 'annotated_content_info': annotated_content_info, 'page': query_params['page'], - 'num_pages': query_params['num_pages'] + 'num_pages': query_params['num_pages'], + 'roles': utils.get_role_ids(course_id), }) @login_required diff --git a/lms/static/coffee/src/discussion/discussion_module_view.coffee b/lms/static/coffee/src/discussion/discussion_module_view.coffee index 2d2f3eaa04..01199ac106 100644 --- a/lms/static/coffee/src/discussion/discussion_module_view.coffee +++ b/lms/static/coffee/src/discussion/discussion_module_view.coffee @@ -10,7 +10,7 @@ if Backbone? page_re: /\?discussion_page=(\d+)/ initialize: -> @toggleDiscussionBtn = @$(".discussion-show") - # Set the page if it was set in the URL. This is used to allow deep linking to pages + # Set the page if it was set in the URL. This is used to allow deep linking to pages match = @page_re.exec(window.location.href) if match @page = parseInt(match[1]) @@ -21,7 +21,7 @@ if Backbone? event.preventDefault() if !@newPostForm @toggleDiscussion() - @isWaitingOnNewPost = true; + @isWaitingOnNewPost = true; return if @showed @newPostForm.slideDown(300) @@ -67,6 +67,7 @@ if Backbone? renderDiscussion: ($elem, response, textStatus, discussionId) => window.user = new DiscussionUser(response.user_info) Content.loadContentInfos(response.annotated_content_info) + DiscussionUtil.loadRoles(response.roles) # $elem.html("Hide Discussion") @discussion = new Discussion() @discussion.reset(response.discussion_data, {silent: false}) diff --git a/lms/static/coffee/src/discussion/main.coffee b/lms/static/coffee/src/discussion/main.coffee index 029eeda176..dfd9d086a0 100644 --- a/lms/static/coffee/src/discussion/main.coffee +++ b/lms/static/coffee/src/discussion/main.coffee @@ -2,6 +2,7 @@ if Backbone? DiscussionApp = start: (elem)-> # TODO: Perhaps eliminate usage of global variables when possible + DiscussionUtil.loadRolesFromContainer() element = $(elem) window.$$course_id = element.data("course-id") user_info = element.data("user-info") diff --git a/lms/static/coffee/src/discussion/utils.coffee b/lms/static/coffee/src/discussion/utils.coffee index 52a0b510ac..056778a0df 100644 --- a/lms/static/coffee/src/discussion/utils.coffee +++ b/lms/static/coffee/src/discussion/utils.coffee @@ -15,9 +15,14 @@ class @DiscussionUtil @getTemplate: (id) -> $("script##{id}").html() + @loadRoles: (roles)-> + @roleIds = roles + + @loadRolesFromContainer: -> + @loadRoles($("#discussion-container").data("roles")) + @isStaff: (user_id) -> - ids = $("#discussion-container").data("roles") - staff = _.union(ids['Staff'], ids['Moderator'], ids['Administrator']) + staff = _.union(@roleIds['Staff'], @roleIds['Moderator'], @roleIds['Administrator']) _.include(staff, parseInt(user_id)) @bulkUpdateContentInfo: (infos) -> diff --git a/lms/static/coffee/src/discussion/views/response_comment_view.coffee b/lms/static/coffee/src/discussion/views/response_comment_view.coffee index fbd3b917a1..3de715692b 100644 --- a/lms/static/coffee/src/discussion/views/response_comment_view.coffee +++ b/lms/static/coffee/src/discussion/views/response_comment_view.coffee @@ -33,4 +33,4 @@ if Backbone? markAsStaff: -> if DiscussionUtil.isStaff(@model.get("user_id")) - @$el.find("a").after('staff') + @$el.find("a.profile-link").after('staff') diff --git a/lms/templates/discussion/_underscore_templates.html b/lms/templates/discussion/_underscore_templates.html index e913852798..9638c93ad9 100644 --- a/lms/templates/discussion/_underscore_templates.html +++ b/lms/templates/discussion/_underscore_templates.html @@ -99,7 +99,7 @@ @${'<%- parent_username %>'}: ${'<% }%>'} ${'<%- body %>'} - –posted ${'<%- created_at %>'} by ${'<%- username %>'} + –posted ${'<%- created_at %>'} by ${'<%- username %>'}