diff --git a/app/assets/javascripts/user.coffee b/app/assets/javascripts/user.coffee index 7b4cf4fb..589c517b 100644 --- a/app/assets/javascripts/user.coffee +++ b/app/assets/javascripts/user.coffee @@ -43,3 +43,24 @@ $(document).on "click", "button[name=user-action]", -> btn[0].dataset.action = 'follow' btn.attr 'class', 'btn btn-primary btn-block profile--follow-btn' btn.html 'Follow' + + +# report user +$(document).on "click", "a[data-action=report-user]", (ev) -> + ev.preventDefault() + btn = $(this) + target = btn[0].dataset.target + if confirm "Are you sure you want to report #{target}?" + $.ajax + url: '/ajax/report' + type: 'POST' + data: + id: target + type: 'user' + success: (data, status, jqxhr) -> + showNotification data.message, data.success + error: (jqxhr, status, error) -> + console.log jqxhr, status, error + showNotification "An error occurred, a developer should check the console for details", false + complete: (jqxhr, status) -> + btn.button "reset" \ No newline at end of file diff --git a/app/controllers/ajax/report_controller.rb b/app/controllers/ajax/report_controller.rb index ee03a461..bea0dcc5 100644 --- a/app/controllers/ajax/report_controller.rb +++ b/app/controllers/ajax/report_controller.rb @@ -16,7 +16,12 @@ class Ajax::ReportController < ApplicationController return end - object = params[:type].strip.capitalize.constantize.find params[:id] + object = if params[:type] == 'user' + User.find_by_screen_name params[:id] + else + params[:type].strip.capitalize.constantize.find params[:id] + end + if object.nil? @message = "Could not find #{params[:type]}" diff --git a/app/views/user/_actions.html.haml b/app/views/user/_actions.html.haml index 099a1ed6..2ede6102 100644 --- a/app/views/user/_actions.html.haml +++ b/app/views/user/_actions.html.haml @@ -21,6 +21,6 @@ %i.fa.fa-minus-circle Block %li - %a{href: '#', name: 'user-action', data: { action: :report, type: type, target: user.screen_name }} + %a{href: '#', data: { action: 'report-user', target: user.screen_name }} %i.fa.fa-exclamation-triangle Report \ No newline at end of file