Allow to report a group

And multiple group tweaks

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel
2020-09-30 15:25:30 +02:00
parent cf070d7e67
commit 92367a5f33
33 changed files with 1088 additions and 754 deletions

View File

@@ -16,7 +16,8 @@ defmodule Mobilizon.Web.Email.Admin do
alias Mobilizon.Web.{Email, Gettext}
@spec report(User.t(), Report.t(), String.t()) :: Bamboo.Email.t()
def report(%User{email: email}, %Report{} = report, locale \\ "en") do
def report(%User{email: email} = user, %Report{} = report, default_locale \\ "en") do
locale = Map.get(user, :locale, default_locale)
Gettext.put_locale(locale)
subject =

View File

@@ -147,7 +147,7 @@ defmodule Mobilizon.Web.Router do
get("/events/:uuid/edit", PageController, :edit_event)
# This is a hack to ease link generation into emails
get("/moderation/reports/:id", PageController, :moderation_report)
get("/moderation/report/:id", PageController, :moderation_report)
get("/participation/email/confirm/:token", PageController, :participation_email_confirmation)

View File

@@ -38,12 +38,34 @@
<%= if @report.reporter.type == :Application and @report.reporter.preferred_username == "relay" do %>
<%= gettext("Someone on <b>%{instance}</b> reported the following content for you to analyze:", instance: @report.reporter.domain) |> raw %>
<% else %>
<%= gettext("<b>%{reporter_name}</b> (%{reporter_username}) reported the following content.", reporter_name: @report.reporter.name, reporter_username: Mobilizon.Actors.Actor.preferred_username_and_domain(@report.reporter)) |> raw %>
<%= gettext("<b>%{reporter}</b> reported the following content.", reporter: Mobilizon.Actors.Actor.display_name_and_username(@report.reporter)) |> raw %>
<% end %>
</p>
</td>
</tr>
<%= if Map.has_key?(@report, :event) do %>
<%= if @report.reported do %>
<tr>
<td bgcolor="#ffffff" align="left" style="padding: 20px 30px 0px 30px; color: #474467; font-family: 'Roboto', Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 400; line-height: 25px;" >
<p style="margin: 0;">
<%= if @report.reported.type == :Group do %>
<h3><%= gettext "Group reported" %></h3>
<a href="<%= "#{Mobilizon.Web.Endpoint.url()}/@#{Mobilizon.Actors.Actor.preferred_username_and_domain(@report.reported)}" %>" target="_blank">
<b><%= Mobilizon.Actors.Actor.display_name_and_username(@report.reported) %></b>
</a>
<% else %>
<h3><%= gettext "Profile reported" %></h3>
<b><%= Mobilizon.Actors.Actor.display_name_and_username(@report.reported) %></b>
<% end %>
</p>
<table cellspacing="0" cellpadding="0" border="0" width="100%" style="width: 100% !important;">
<tr>
<td align="left" valign="top" width="600px" height="1" style="background-color: #f0f0f0; border-collapse:collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; mso-line-height-rule: exactly; line-height: 1px;"><!--[if gte mso 15]>&nbsp;<![endif]--></td>
</tr>
</table>
</td>
</tr>
<% end %>
<%= if Map.has_key?(@report, :event) and @report.event do %>
<tr>
<td bgcolor="#ffffff" align="left" style="padding: 20px 30px 0px 30px; color: #474467; font-family: 'Roboto', Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 400; line-height: 25px;" >
<p style="margin: 0;">
@@ -82,7 +104,7 @@
<td bgcolor="#ffffff" align="left" style="padding: 20px 30px 0px 30px; color: #474467; font-family: 'Roboto', Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 400; line-height: 25px;" >
<p style="margin: 0">
<h3><%= gettext "Reasons for report" %></h3>
<%= @report.content %>
<%= @report.content |> raw %>
</p>
<table cellspacing="0" cellpadding="0" border="0" width="100%" style="width: 100% !important;">
<tr>

View File

@@ -1,6 +1,13 @@
<%= gettext "New report from %{reporter} on %{instance}", reporter: @report.reporter.preferred_username, instance: @instance[:name] %>
<%= gettext "New report from %{reporter} on %{instance}", reporter: Mobilizon.Actors.Actor.display_name_and_username(@report.reporter), instance: @instance[:name] %>
--
<%= if Map.has_key?(@report, :event) do %>
<%= if @report.reported do %>
<%= if @report.reported.type == :Group do %>
<%= gettext "Group %{group} was reported", group: Mobilizon.Actors.Actor.display_name_and_username(@report.reported) %>
<% else %>
<%= gettext "Profile %{profile} was reported", group: Mobilizon.Actors.Actor.display_name_and_username(@report.reported) %>
<% end %>
<% end %>
<%= if Map.has_key?(@report, :event) and @report.event do %>
<%= gettext "Event" %>
<%= @report.event.title %>
<% end %>