From 649578ea2f51d824eeb823571dc5f0916432b755 Mon Sep 17 00:00:00 2001 From: Kevin Chugh Date: Sun, 21 Apr 2013 06:15:23 -0400 Subject: [PATCH] unify flag moderator permissions --- common/static/coffee/src/discussion/utils.coffee | 4 ++++ .../src/discussion/views/discussion_content_view.coffee | 4 ++-- .../src/discussion/views/discussion_thread_show_view.coffee | 2 +- .../src/discussion/views/response_comment_show_view.coffee | 2 +- .../src/discussion/views/thread_response_show_view.coffee | 2 +- lms/djangoapps/django_comment_client/forum/views.py | 2 +- lms/lib/comment_client/thread.py | 3 ++- lms/templates/discussion/index.html | 2 +- lms/templates/discussion/single_thread.html | 2 +- 9 files changed, 14 insertions(+), 9 deletions(-) diff --git a/common/static/coffee/src/discussion/utils.coffee b/common/static/coffee/src/discussion/utils.coffee index 7fec0ae2bd..5c2dea7e7c 100644 --- a/common/static/coffee/src/discussion/utils.coffee +++ b/common/static/coffee/src/discussion/utils.coffee @@ -18,8 +18,12 @@ class @DiscussionUtil @loadRoles: (roles)-> @roleIds = roles + @loadFlagModerator: (what)-> + @isFlagModerator = what + @loadRolesFromContainer: -> @loadRoles($("#discussion-container").data("roles")) + @loadFlagModerator($("#discussion-container").data("flag-moderator")) @isStaff: (user_id) -> staff = _.union(@roleIds['Staff'], @roleIds['Moderator'], @roleIds['Administrator']) diff --git a/common/static/coffee/src/discussion/views/discussion_content_view.coffee b/common/static/coffee/src/discussion/views/discussion_content_view.coffee index 8cdfddf54a..9b2de1b198 100644 --- a/common/static/coffee/src/discussion/views/discussion_content_view.coffee +++ b/common/static/coffee/src/discussion/views/discussion_content_view.coffee @@ -109,7 +109,7 @@ if Backbone? toggleFlagAbuse: (event) -> event.preventDefault() - if window.user.id in @model.get("abuse_flaggers") or (DiscussionUtil.isStaff(@model.get("user_id")) and @model.get("abuse_flaggers").length > 0) + if window.user.id in @model.get("abuse_flaggers") or (DiscussionUtil.isFlagModerator and @model.get("abuse_flaggers").length > 0) @unFlagAbuse() else @flagAbuse() @@ -140,7 +140,7 @@ if Backbone? temp_array = _.clone(@model.get('abuse_flaggers')); temp_array.pop(window.user.id) # if you're an admin, clear this - if DiscussionUtil.isStaff(@model.get("user_id")) + if DiscussionUtil.isFlagModerator temp_array = [] @model.set('abuse_flaggers', temp_array) diff --git a/common/static/coffee/src/discussion/views/discussion_thread_show_view.coffee b/common/static/coffee/src/discussion/views/discussion_thread_show_view.coffee index 330111c82a..38f5b36531 100644 --- a/common/static/coffee/src/discussion/views/discussion_thread_show_view.coffee +++ b/common/static/coffee/src/discussion/views/discussion_thread_show_view.coffee @@ -46,7 +46,7 @@ if Backbone? @$("[data-role=discussion-vote]").removeClass("is-cast") renderFlagged: => - if window.user.id in @model.get("abuse_flaggers") or (DiscussionUtil.isStaff(@model.get("user_id")) and @model.get("abuse_flaggers").length > 0) + if window.user.id in @model.get("abuse_flaggers") or (DiscussionUtil.isFlagModerator and @model.get("abuse_flaggers").length > 0) @$("[data-role=thread-flag]").addClass("flagged") @$("[data-role=thread-flag]").removeClass("notflagged") @$(".discussion-flag-abuse .flag-label").html("Misuse Reported") diff --git a/common/static/coffee/src/discussion/views/response_comment_show_view.coffee b/common/static/coffee/src/discussion/views/response_comment_show_view.coffee index 7bb24d8866..18d405fdb4 100644 --- a/common/static/coffee/src/discussion/views/response_comment_show_view.coffee +++ b/common/static/coffee/src/discussion/views/response_comment_show_view.coffee @@ -45,7 +45,7 @@ if Backbone? renderFlagged: => - if window.user.id in @model.get("abuse_flaggers") or (DiscussionUtil.isStaff(@model.get("user_id")) and @model.get("abuse_flaggers").length > 0) + if window.user.id in @model.get("abuse_flaggers") or (DiscussionUtil.isFlagModerator and @model.get("abuse_flaggers").length > 0) @$("[data-role=thread-flag]").addClass("flagged") @$("[data-role=thread-flag]").removeClass("notflagged") else diff --git a/common/static/coffee/src/discussion/views/thread_response_show_view.coffee b/common/static/coffee/src/discussion/views/thread_response_show_view.coffee index ded255d7f9..0e42b79b9a 100644 --- a/common/static/coffee/src/discussion/views/thread_response_show_view.coffee +++ b/common/static/coffee/src/discussion/views/thread_response_show_view.coffee @@ -98,7 +98,7 @@ if Backbone? renderFlagged: => - if window.user.id in @model.get("abuse_flaggers") or (DiscussionUtil.isStaff(@model.get("user_id")) and @model.get("abuse_flaggers").length > 0) + if window.user.id in @model.get("abuse_flaggers") or (DiscussionUtil.isFlagModerator and @model.get("abuse_flaggers").length > 0) @$("[data-role=thread-flag]").addClass("flagged") @$("[data-role=thread-flag]").removeClass("notflagged") @$(".discussion-flag-abuse .flag-label").html("Misuse Reported") diff --git a/lms/djangoapps/django_comment_client/forum/views.py b/lms/djangoapps/django_comment_client/forum/views.py index df65d5aae6..bc1c497575 100644 --- a/lms/djangoapps/django_comment_client/forum/views.py +++ b/lms/djangoapps/django_comment_client/forum/views.py @@ -323,7 +323,7 @@ def single_thread(request, course_id, discussion_id, thread_id): 'thread_pages': query_params['num_pages'], 'is_course_cohorted': is_course_cohorted(course_id), 'is_moderator': cached_has_permission(request.user, "see_all_cohorts", course_id), - 'flag_moderator': cached_has_permission(request.user, 'openclose_thread', course.id), + 'flag_moderator': cached_has_permission(request.user, 'openclose_thread', course.id) or has_access(request.user, course, 'staff'), 'cohorts': cohorts, 'user_cohort': get_cohort_id(request.user, course_id), 'cohorted_commentables': cohorted_commentables diff --git a/lms/lib/comment_client/thread.py b/lms/lib/comment_client/thread.py index 8ecb0368be..d5681de83b 100644 --- a/lms/lib/comment_client/thread.py +++ b/lms/lib/comment_client/thread.py @@ -10,7 +10,8 @@ class Thread(models.Model): 'closed', 'tags', 'votes', 'commentable_id', 'username', 'user_id', 'created_at', 'updated_at', 'comments_count', 'unread_comments_count', 'at_position_list', 'children', 'type', 'highlighted_title', - 'highlighted_body', 'endorsed', 'read', 'group_id', 'group_name', 'pinned', 'abuse_flaggers' + 'highlighted_body', 'endorsed', 'read', 'group_id', 'group_name', 'pinned', + 'abuse_flaggers' ] diff --git a/lms/templates/discussion/index.html b/lms/templates/discussion/index.html index d43f8b945f..cacc290d4a 100644 --- a/lms/templates/discussion/index.html +++ b/lms/templates/discussion/index.html @@ -21,7 +21,7 @@ <%include file="_new_post.html" /> -
+
diff --git a/lms/templates/discussion/single_thread.html b/lms/templates/discussion/single_thread.html index c890c7350f..642dfcf46d 100644 --- a/lms/templates/discussion/single_thread.html +++ b/lms/templates/discussion/single_thread.html @@ -23,7 +23,7 @@ <%include file="_new_post.html" /> -
+