From 8ad01c7340fd58ddff936a337f76bc6755c37403 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 4 Dec 2012 15:47:42 -0500 Subject: [PATCH] fix comments and replies --- .../coffee/src/discussion/content.coffee | 23 +++++---- .../views/discussion_content_view.coffee | 36 ++++++++++++++ .../views/discussion_thread_show_view.coffee | 48 +++++-------------- .../views/response_comment_show_view.coffee | 3 ++ .../views/thread_response_show_view.coffee | 33 ------------- .../discussion/_underscore_templates.html | 2 +- 6 files changed, 65 insertions(+), 80 deletions(-) diff --git a/lms/static/coffee/src/discussion/content.coffee b/lms/static/coffee/src/discussion/content.coffee index b486bb3600..2edc4114e0 100644 --- a/lms/static/coffee/src/discussion/content.coffee +++ b/lms/static/coffee/src/discussion/content.coffee @@ -79,6 +79,16 @@ if Backbone? @getContent(id).updateInfo(info) $.extend @contentInfos, infos + flagAbuse: -> + temp_array = @get("abuse_flaggers") + temp_array.push(window.user.get('id')) + @set("abuse_flaggers",temp_array) + @trigger "change", @ + + unflagAbuse: -> + @get("abuse_flaggers").pop(window.user.get('id')) + @trigger "change", @ + class @Thread extends @Content urlMappers: @@ -116,16 +126,6 @@ if Backbone? @get("votes")["up_count"] = parseInt(@get("votes")["up_count"]) - 1 @trigger "change", @ - flagAbuse: -> - temp_array = @get("abuse_flaggers") - temp_array.push(window.user.get('id')) - @set("abuse_flaggers",temp_array) - @trigger "change", @ - - unflagAbuse: -> - @get("abuse_flaggers").pop(window.user.get('id')) - @trigger "change", @ - display_body: -> if @has("highlighted_body") String(@get("highlighted_body")).replace(//g, '').replace(/<\/highlight>/g, '') @@ -164,6 +164,9 @@ if Backbone? 'endorse': -> DiscussionUtil.urlFor('endorse_comment', @id) 'update': -> DiscussionUtil.urlFor('update_comment', @id) 'delete': -> DiscussionUtil.urlFor('delete_comment', @id) + 'flagAbuse' : -> DiscussionUtil.urlFor("flagAbuse_#{@get('type')}", @id) + 'unFlagAbuse' : -> DiscussionUtil.urlFor("unFlagAbuse_#{@get('type')}", @id) + getCommentsCount: -> diff --git a/lms/static/coffee/src/discussion/views/discussion_content_view.coffee b/lms/static/coffee/src/discussion/views/discussion_content_view.coffee index 57ffa39fa4..e132c8cbbe 100644 --- a/lms/static/coffee/src/discussion/views/discussion_content_view.coffee +++ b/lms/static/coffee/src/discussion/views/discussion_content_view.coffee @@ -104,3 +104,39 @@ if Backbone? initialize: -> @initLocal() @model.bind('change', @renderPartialAttrs, @) + + + + toggleFlagAbuse: (event) -> + event.preventDefault() + if window.user.id in @model.get("abuse_flaggers") + @unFlagAbuse() + else + @flagAbuse() + + flagAbuse: -> + url = @model.urlFor("flagAbuse") + DiscussionUtil.safeAjax + $elem: @$(".discussion-flag-abuse") + url: url + type: "POST" + success: (response, textStatus) => + if textStatus == 'success' + ### + note, we have to clone the array in order to trigger a change event + ### + temp_array = _.clone(@model.get('abuse_flaggers')); + temp_array.push(window.user.id) + @model.set('abuse_flaggers', temp_array) + + unFlagAbuse: -> + url = @model.urlFor("unFlagAbuse") + DiscussionUtil.safeAjax + $elem: @$(".discussion-flag-abuse") + url: url + type: "POST" + success: (response, textStatus) => + if textStatus == 'success' + temp_array = _.clone(@model.get('abuse_flaggers')); + temp_array.pop(window.user.id) + @model.set('abuse_flaggers', temp_array) diff --git a/lms/static/coffee/src/discussion/views/discussion_thread_show_view.coffee b/lms/static/coffee/src/discussion/views/discussion_thread_show_view.coffee index 6a3993e33d..f9519236c3 100644 --- a/lms/static/coffee/src/discussion/views/discussion_thread_show_view.coffee +++ b/lms/static/coffee/src/discussion/views/discussion_thread_show_view.coffee @@ -66,19 +66,21 @@ if Backbone? if window.user.voted(@model) @unvote() else - @vote() - - toggleFlagAbuse: (event) -> - event.preventDefault() - if window.user.id in @model.get("abuse_flaggers") - @unFlagAbuse() - else - @flagAbuse() - + @vote() toggleFollowing: (event) -> $elem = $(event.target) - url = null + url = nullunFlagAbuse: -> + url = @model.urlFor("unFlagAbuse") + DiscussionUtil.safeAjax + $elem: @$(".discussion-flag-abuse") + url: url + type: "POST" + success: (response, textStatus) => + if textStatus == 'success' + temp_array = _.clone(@model.get('abuse_flaggers')); + temp_array.pop(window.user.id) + @model.set('abuse_flaggers', temp_array) if not @model.get('subscribed') @model.follow() url = @model.urlFor("follow") @@ -101,21 +103,6 @@ if Backbone? if textStatus == 'success' @model.set(response, {silent: true}) - flagAbuse: -> - url = @model.urlFor("flagAbuse") - DiscussionUtil.safeAjax - $elem: @$(".discussion-flag-abuse") - url: url - type: "POST" - success: (response, textStatus) => - if textStatus == 'success' - ### - note, we have to clone the array in order to trigger a change event - that's 5 hours of my life i'll never get back. - ### - temp_array = _.clone(@model.get('abuse_flaggers')); - temp_array.push(window.user.id) - @model.set('abuse_flaggers', temp_array) unvote: -> window.user.unvote(@model) @@ -128,17 +115,6 @@ if Backbone? if textStatus == 'success' @model.set(response, {silent: true}) - unFlagAbuse: -> - url = @model.urlFor("unFlagAbuse") - DiscussionUtil.safeAjax - $elem: @$(".discussion-flag-abuse") - url: url - type: "POST" - success: (response, textStatus) => - if textStatus == 'success' - temp_array = _.clone(@model.get('abuse_flaggers')); - temp_array.pop(window.user.id) - @model.set('abuse_flaggers', temp_array) edit: (event) -> @trigger "thread:edit", event diff --git a/lms/static/coffee/src/discussion/views/response_comment_show_view.coffee b/lms/static/coffee/src/discussion/views/response_comment_show_view.coffee index e6c8064978..7e0a628c4f 100644 --- a/lms/static/coffee/src/discussion/views/response_comment_show_view.coffee +++ b/lms/static/coffee/src/discussion/views/response_comment_show_view.coffee @@ -34,3 +34,6 @@ if Backbone? @$el.find("a.profile-link").after('staff') else if DiscussionUtil.isTA(@model.get("user_id")) @$el.find("a.profile-link").after('Community  TA') + + + diff --git a/lms/static/coffee/src/discussion/views/thread_response_show_view.coffee b/lms/static/coffee/src/discussion/views/thread_response_show_view.coffee index 7969bb3fa4..4049bdeaa6 100644 --- a/lms/static/coffee/src/discussion/views/thread_response_show_view.coffee +++ b/lms/static/coffee/src/discussion/views/thread_response_show_view.coffee @@ -72,39 +72,6 @@ if Backbone? if textStatus == 'success' @model.set(response) - toggleFlagAbuse: (event) -> - event.preventDefault() - if window.user.id in @model.get("abuse_flaggers") - @unFlagAbuse() - else - @flagAbuse() - - flagAbuse: -> - url = @model.urlFor("flagAbuse") - DiscussionUtil.safeAjax - $elem: @$(".discussion-flag-abuse") - url: url - type: "POST" - success: (response, textStatus) => - if textStatus == 'success' - ### - note, we have to clone the array in order to trigger a change event - ### - temp_array = _.clone(@model.get('abuse_flaggers')); - temp_array.push(window.user.id) - @model.set('abuse_flaggers', temp_array) - - unFlagAbuse: -> - url = @model.urlFor("unFlagAbuse") - DiscussionUtil.safeAjax - $elem: @$(".discussion-flag-abuse") - url: url - type: "POST" - success: (response, textStatus) => - if textStatus == 'success' - temp_array = _.clone(@model.get('abuse_flaggers')); - temp_array.pop(window.user.id) - @model.set('abuse_flaggers', temp_array) edit: (event) -> @trigger "response:edit", event diff --git a/lms/templates/discussion/_underscore_templates.html b/lms/templates/discussion/_underscore_templates.html index 8a2412ec5f..0fcb309b0f 100644 --- a/lms/templates/discussion/_underscore_templates.html +++ b/lms/templates/discussion/_underscore_templates.html @@ -138,7 +138,7 @@
${'<%- body %>'}
- Report Misuse
+

–posted ${'<%- created_at %>'} by ${"<% if (obj.username) { %>"} ${'<%- username %>'}