From 57eab20972b1ac97d1230c55f404256420fc7762 Mon Sep 17 00:00:00 2001 From: Luna D Date: Mon, 8 Nov 2021 15:04:17 +0100 Subject: [PATCH] dupe logs --- .../duplicate_report/accept_controller.ex | 10 +++++++++- .../accept_reverse_controller.ex | 10 +++++++++- .../duplicate_report/claim_controller.ex | 18 ++++++++++++++++-- .../duplicate_report/reject_controller.ex | 10 +++++++++- 4 files changed, 43 insertions(+), 5 deletions(-) diff --git a/lib/philomena_web/controllers/duplicate_report/accept_controller.ex b/lib/philomena_web/controllers/duplicate_report/accept_controller.ex index ef789b37..5f4401aa 100644 --- a/lib/philomena_web/controllers/duplicate_report/accept_controller.ex +++ b/lib/philomena_web/controllers/duplicate_report/accept_controller.ex @@ -17,9 +17,10 @@ defmodule PhilomenaWeb.DuplicateReport.AcceptController do user = conn.assigns.current_user case DuplicateReports.accept_duplicate_report(report, user) do - {:ok, _report} -> + {:ok, report} -> conn |> put_flash(:info, "Successfully accepted report.") + |> moderation_log(details: &log_details/3, data: report.duplicate_report) |> redirect(to: Routes.duplicate_report_path(conn, :index)) _error -> @@ -28,4 +29,11 @@ defmodule PhilomenaWeb.DuplicateReport.AcceptController do |> redirect(to: Routes.duplicate_report_path(conn, :index)) end end + + defp log_details(conn, _action, report) do + %{ + body: "Accepted duplicate report, merged #{report.image.id} into #{report.duplicate_of_image.id}", + subject_path: Routes.image_path(conn, :show, report.image) + } + end end diff --git a/lib/philomena_web/controllers/duplicate_report/accept_reverse_controller.ex b/lib/philomena_web/controllers/duplicate_report/accept_reverse_controller.ex index 34953ffc..276945f2 100644 --- a/lib/philomena_web/controllers/duplicate_report/accept_reverse_controller.ex +++ b/lib/philomena_web/controllers/duplicate_report/accept_reverse_controller.ex @@ -17,9 +17,10 @@ defmodule PhilomenaWeb.DuplicateReport.AcceptReverseController do user = conn.assigns.current_user case DuplicateReports.accept_reverse_duplicate_report(report, user) do - {:ok, _report} -> + {:ok, report} -> conn |> put_flash(:info, "Successfully accepted report in reverse.") + |> moderation_log(details: &log_details/3, data: report.duplicate_report) |> redirect(to: Routes.duplicate_report_path(conn, :index)) _error -> @@ -28,4 +29,11 @@ defmodule PhilomenaWeb.DuplicateReport.AcceptReverseController do |> redirect(to: Routes.duplicate_report_path(conn, :index)) end end + + defp log_details(conn, _action, report) do + %{ + body: "Reverse-accepted duplicate report, merged #{report.image.id} into #{report.duplicate_of_image.id}", + subject_path: Routes.image_path(conn, :show, report.image) + } + end end diff --git a/lib/philomena_web/controllers/duplicate_report/claim_controller.ex b/lib/philomena_web/controllers/duplicate_report/claim_controller.ex index e7a0e637..24ab0b4d 100644 --- a/lib/philomena_web/controllers/duplicate_report/claim_controller.ex +++ b/lib/philomena_web/controllers/duplicate_report/claim_controller.ex @@ -12,7 +12,7 @@ defmodule PhilomenaWeb.DuplicateReport.ClaimController do persisted: true def create(conn, _params) do - {:ok, _report} = + {:ok, report} = DuplicateReports.claim_duplicate_report( conn.assigns.duplicate_report, conn.assigns.current_user @@ -20,14 +20,28 @@ defmodule PhilomenaWeb.DuplicateReport.ClaimController do conn |> put_flash(:info, "Successfully claimed report.") + |> moderation_log(details: &log_details/3, data: report) |> redirect(to: Routes.duplicate_report_path(conn, :index)) end def delete(conn, _params) do - {:ok, _report} = DuplicateReports.unclaim_duplicate_report(conn.assigns.duplicate_report) + {:ok, report} = DuplicateReports.unclaim_duplicate_report(conn.assigns.duplicate_report) conn |> put_flash(:info, "Successfully released report.") + |> moderation_log(details: &log_details/3) |> redirect(to: Routes.duplicate_report_path(conn, :index)) end + + defp log_details(conn, action, _) do + body = case action do + :create -> "Claimed a duplicate report" + :delete -> "Released a duplicate report" + end + + %{ + body: body, + subject_path: Routes.duplicate_report_path(conn, :index) + } + end end diff --git a/lib/philomena_web/controllers/duplicate_report/reject_controller.ex b/lib/philomena_web/controllers/duplicate_report/reject_controller.ex index 577e343b..e019fb2a 100644 --- a/lib/philomena_web/controllers/duplicate_report/reject_controller.ex +++ b/lib/philomena_web/controllers/duplicate_report/reject_controller.ex @@ -13,7 +13,7 @@ defmodule PhilomenaWeb.DuplicateReport.RejectController do preload: [:image, :duplicate_of_image] def create(conn, _params) do - {:ok, _report} = + {:ok, report} = DuplicateReports.reject_duplicate_report( conn.assigns.duplicate_report, conn.assigns.current_user @@ -21,6 +21,14 @@ defmodule PhilomenaWeb.DuplicateReport.RejectController do conn |> put_flash(:info, "Successfully rejected report.") + |> moderation_log(details: &log_details/3, data: report) |> redirect(to: Routes.duplicate_report_path(conn, :index)) end + + defp log_details(conn, _action, report) do + %{ + body: "Rejected duplicate report (#{report.image.id} -> #{report.duplicate_of_image.id})", + subject_path: Routes.duplicate_report_path(conn, :index) + } + end end