summaryrefslogtreecommitdiffstats
path: root/app/controllers/admin/reports_controller.rb
diff options
context:
space:
mode:
authorEmelia Smith <ThisIsMissEm@users.noreply.github.com>2018-04-10 20:27:59 +0200
committerEugen Rochko <eugen@zeonfederated.com>2018-04-10 20:27:59 +0200
commitd9b62e34da0c0238176f27557ac7b953da94df7e (patch)
tree57b5f3ee1e3ad6ef1942d5df9d6fff2a7b16422c /app/controllers/admin/reports_controller.rb
parent45c9f16f714dd6de15391b5e2ae2bf0d30ef20fb (diff)
Feature: Improve reports ui (#7032)
* Further improvements to Reports UI - Clean up notes display - Clean up add new note form - Simplify controller - Allow reopening a report with a note - Show created at date for reports - Fix report details table formatting * Show history of report using Admin::ActionLog beneath the report * Fix incorrect log message when reopening a report * Implement fetching of all ActionLog items that could be related to the report * Ensure adding a report_note updates the report's updated_at * Limit Report History to actions that happened between the report being created and the report being resolved * Fix linting issues * Improve report history builder Thanks @gargron for the improvements
Diffstat (limited to 'app/controllers/admin/reports_controller.rb')
-rw-r--r--app/controllers/admin/reports_controller.rb20
1 files changed, 9 insertions, 11 deletions
diff --git a/app/controllers/admin/reports_controller.rb b/app/controllers/admin/reports_controller.rb
index fc3785e3b44..a4ae9507d4b 100644
--- a/app/controllers/admin/reports_controller.rb
+++ b/app/controllers/admin/reports_controller.rb
@@ -13,6 +13,7 @@ module Admin
authorize @report, :show?
@report_note = @report.notes.new
@report_notes = @report.notes.latest
+ @report_history = @report.history
@form = Form::StatusBatch.new
end
@@ -38,36 +39,33 @@ module Admin
@report.update!(assigned_account_id: nil)
log_action :unassigned, @report
when 'reopen'
- @report.update!(action_taken: false, action_taken_by_account_id: nil)
+ @report.unresolve!
log_action :reopen, @report
when 'resolve'
- @report.update!(action_taken_by_current_attributes)
+ @report.resolve!(current_account)
log_action :resolve, @report
when 'suspend'
Admin::SuspensionWorker.perform_async(@report.target_account.id)
+
log_action :resolve, @report
log_action :suspend, @report.target_account
+
resolve_all_target_account_reports
- @report.reload
when 'silence'
@report.target_account.update!(silenced: true)
+
log_action :resolve, @report
log_action :silence, @report.target_account
+
resolve_all_target_account_reports
- @report.reload
else
raise ActiveRecord::RecordNotFound
end
- end
-
- def action_taken_by_current_attributes
- { action_taken: true, action_taken_by_account_id: current_account.id }
+ @report.reload
end
def resolve_all_target_account_reports
- unresolved_reports_for_target_account.update_all(
- action_taken_by_current_attributes
- )
+ unresolved_reports_for_target_account.update_all(action_taken: true, action_taken_by_account_id: current_account.id)
end
def unresolved_reports_for_target_account