@@ -15,9 +15,9 @@ defmodule Mobilizon.Web.Email.Admin do
|
||||
|
||||
alias Mobilizon.Web.Email
|
||||
|
||||
@spec report(User.t(), Report.t(), String.t()) :: Bamboo.Email.t()
|
||||
def report(%User{email: email} = user, %Report{} = report, default_locale \\ "en") do
|
||||
locale = Map.get(user, :locale, default_locale)
|
||||
@spec report(User.t(), Report.t()) :: Bamboo.Email.t()
|
||||
def report(%User{email: email} = user, %Report{} = report) do
|
||||
locale = Map.get(user, :locale, "en")
|
||||
Gettext.put_locale(locale)
|
||||
|
||||
subject =
|
||||
|
||||
@@ -11,11 +11,11 @@ defmodule Mobilizon.Web.Email.Checker do
|
||||
@spec valid?(String.t()) :: boolean
|
||||
def valid?(email), do: email =~ @email_regex
|
||||
|
||||
@spec validate_changeset(Ecto.Changeset.t(), atom()) :: Ecto.Changeset.t()
|
||||
def validate_changeset(%Ecto.Changeset{} = changeset, key \\ :email) do
|
||||
@spec validate_changeset(Ecto.Changeset.t()) :: Ecto.Changeset.t()
|
||||
def validate_changeset(%Ecto.Changeset{} = changeset) do
|
||||
changeset = Ecto.Changeset.validate_length(changeset, :email, min: 3, max: 250)
|
||||
|
||||
case Ecto.Changeset.fetch_change(changeset, key) do
|
||||
case Ecto.Changeset.fetch_change(changeset, :email) do
|
||||
{:ok, email} ->
|
||||
if valid?(email),
|
||||
do: changeset,
|
||||
|
||||
@@ -15,17 +15,15 @@ defmodule Mobilizon.Web.Email.Group do
|
||||
@doc """
|
||||
Send emails to local user
|
||||
"""
|
||||
@spec send_invite_to_user(Member.t(), String.t()) :: :ok
|
||||
def send_invite_to_user(member, locale \\ "en")
|
||||
def send_invite_to_user(%Member{actor: %Actor{user_id: nil}}, _locale), do: :ok
|
||||
@spec send_invite_to_user(Member.t()) :: :ok
|
||||
def send_invite_to_user(%Member{actor: %Actor{user_id: nil}}), do: :ok
|
||||
|
||||
def send_invite_to_user(
|
||||
%Member{actor: %Actor{user_id: user_id}, parent: %Actor{} = group, role: :invited} =
|
||||
member,
|
||||
locale
|
||||
member
|
||||
) do
|
||||
with %User{email: email} = user <- Users.get_user!(user_id) do
|
||||
locale = Map.get(user, :locale, locale)
|
||||
locale = Map.get(user, :locale, "en")
|
||||
Gettext.put_locale(locale)
|
||||
%Actor{name: invited_by_name} = inviter = Actors.get_actor(member.invited_by_id)
|
||||
|
||||
|
||||
@@ -144,10 +144,11 @@ defmodule Mobilizon.Web.Email.User do
|
||||
end
|
||||
end
|
||||
|
||||
def send_email_reset_old_email(
|
||||
%User{locale: user_locale, email: email, unconfirmed_email: unconfirmed_email} = _user,
|
||||
_locale \\ "en"
|
||||
) do
|
||||
def send_email_reset_old_email(%User{
|
||||
locale: user_locale,
|
||||
email: email,
|
||||
unconfirmed_email: unconfirmed_email
|
||||
}) do
|
||||
Gettext.put_locale(user_locale)
|
||||
|
||||
subject =
|
||||
@@ -163,14 +164,11 @@ defmodule Mobilizon.Web.Email.User do
|
||||
|> render(:email_changed_old)
|
||||
end
|
||||
|
||||
def send_email_reset_new_email(
|
||||
%User{
|
||||
locale: user_locale,
|
||||
unconfirmed_email: unconfirmed_email,
|
||||
confirmation_token: confirmation_token
|
||||
} = _user,
|
||||
_locale \\ "en"
|
||||
) do
|
||||
def send_email_reset_new_email(%User{
|
||||
locale: user_locale,
|
||||
unconfirmed_email: unconfirmed_email,
|
||||
confirmation_token: confirmation_token
|
||||
}) do
|
||||
Gettext.put_locale(user_locale)
|
||||
|
||||
subject =
|
||||
|
||||
Reference in New Issue
Block a user