X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Femails%2Fuser_email.ex;h=cd06ab23c808aae80ffe90c37ddd4512f8eabb0d;hb=c301a95276fd1e66208a9f6ccdcf5e29f0be51e1;hp=1d8c72ae93a5b057c106e34d45a31efcad8a2eaf;hpb=3f9263fb16ad519d2dd45106549a8ba42b68fc1f;p=akkoma
diff --git a/lib/pleroma/emails/user_email.ex b/lib/pleroma/emails/user_email.ex
index 1d8c72ae9..cd06ab23c 100644
--- a/lib/pleroma/emails/user_email.ex
+++ b/lib/pleroma/emails/user_email.ex
@@ -1,19 +1,29 @@
# Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors
Someone has requested password change for your account at #{instance_name()}.
-If it was you, visit the following link to proceed: reset password.
-If it was someone else, nothing to worry about: your data is secure and your password has not been changed.
- """ + html_body = + Gettext.dpgettext( + "static_pages", + "password reset email body", + """ +Someone has requested password change for your account at %{instance_name}.
+If it was you, visit the following link to proceed: reset password.
+If it was someone else, nothing to worry about: your data is secure and your password has not been changed.
+ """, + instance_name: instance_name(), + password_reset_url: password_reset_url + ) new() |> to(recipient(user)) |> from(sender()) - |> subject("Password reset") + |> subject( + Gettext.dpgettext("static_pages", "password reset email subject", "Password reset") + ) |> html_body(html_body) end @@ -58,16 +107,31 @@ defmodule Pleroma.Emails.UserEmail do user_invite_token.token ) - html_body = """ -#{user.name} invites you to join #{instance_name()}, an instance of Pleroma federated social networking platform.
-Click the following link to register: accept invitation.
- """ + html_body = + Gettext.dpgettext( + "static_pages", + "user invitation email body", + """ +%{inviter_name} invites you to join %{instance_name}, an instance of Pleroma federated social networking platform.
+Click the following link to register: accept invitation.
+ """, + instance_name: instance_name(), + inviter_name: user.name, + registration_url: registration_url + ) new() |> to(recipient(to_email, to_name)) |> from(sender()) - |> subject("Invitation to #{instance_name()}") + |> subject( + Gettext.dpgettext( + "static_pages", + "user invitation email subject", + "Invitation to %{instance_name}", + instance_name: instance_name() + ) + ) |> html_body(html_body) end @@ -80,16 +144,83 @@ defmodule Pleroma.Emails.UserEmail do to_string(user.confirmation_token) ) - html_body = """ -Email confirmation is required to activate the account.
-Click the following link to proceed: activate your account.
- """ + html_body = + Gettext.dpgettext( + "static_pages", + "confirmation email body", + """ +Email confirmation is required to activate the account.
+Please click the following link to activate your account.
+ """, + instance_name: instance_name(), + confirmation_url: confirmation_url + ) + + new() + |> to(recipient(user)) + |> from(sender()) + |> subject( + Gettext.dpgettext( + "static_pages", + "confirmation email subject", + "%{instance_name} account confirmation", + instance_name: instance_name() + ) + ) + |> html_body(html_body) + end + + def approval_pending_email(user) do + html_body = + Gettext.dpgettext( + "static_pages", + "approval pending email body", + """ +Your account at %{instance_name} is being reviewed by staff. You will receive another email once your account is approved.
+ """, + instance_name: instance_name() + ) new() |> to(recipient(user)) |> from(sender()) - |> subject("#{instance_name()} account confirmation") + |> subject( + Gettext.dpgettext( + "static_pages", + "approval pending email subject", + "Your account is awaiting approval" + ) + ) + |> html_body(html_body) + end + + def successful_registration_email(user) do + html_body = + Gettext.dpgettext( + "static_pages", + "successful registration email body", + """ +Your account at %{instance_name} has been registered successfully.
+No further action is required to activate your account.
+ """, + nickname: user.nickname, + instance_name: instance_name() + ) + + new() + |> to(recipient(user)) + |> from(sender()) + |> subject( + Gettext.dpgettext( + "static_pages", + "successful registration email subject", + "Account registered on %{instance_name}", + instance_name: instance_name() + ) + ) |> html_body(html_body) end @@ -106,7 +237,7 @@ defmodule Pleroma.Emails.UserEmail do notifications |> Enum.filter(&(&1.activity.data["type"] == "Create")) |> Enum.map(fn notification -> - object = Pleroma.Object.normalize(notification.activity) + object = Pleroma.Object.normalize(notification.activity, fetch: false) if not is_nil(object) do object = update_in(object.data["content"], &format_links/1) @@ -129,7 +260,7 @@ defmodule Pleroma.Emails.UserEmail do if not is_nil(from) do %{ data: notification, - object: Pleroma.Object.normalize(notification.activity), + object: Pleroma.Object.normalize(notification.activity, fetch: false), from: User.get_by_ap_id(notification.activity.actor) } end @@ -151,7 +282,7 @@ defmodule Pleroma.Emails.UserEmail do logo_path = if is_nil(logo) do - Path.join(:code.priv_dir(:pleroma), "static/static/logo.png") + Path.join(:code.priv_dir(:pleroma), "static/static/logo.svg") else Path.join(Config.get([:instance, :static_dir]), logo) end @@ -159,10 +290,17 @@ defmodule Pleroma.Emails.UserEmail do new() |> to(recipient(user)) |> from(sender()) - |> subject("Your digest from #{instance_name()}") + |> subject( + Gettext.dpgettext( + "static_pages", + "digest email subject", + "Your digest from %{instance_name}", + instance_name: instance_name() + ) + ) |> put_layout(false) |> render_body("digest.html", html_data) - |> attachment(Swoosh.Attachment.new(logo_path, filename: "logo.png", type: :inline)) + |> attachment(Swoosh.Attachment.new(logo_path, filename: "logo.svg", type: :inline)) end end @@ -189,4 +327,47 @@ defmodule Pleroma.Emails.UserEmail do Router.Helpers.subscription_url(Endpoint, :unsubscribe, token) end + + def backup_is_ready_email(backup, admin_user_id \\ nil) do + %{user: user} = Pleroma.Repo.preload(backup, :user) + download_url = Pleroma.Web.PleromaAPI.BackupView.download_url(backup) + + html_body = + if is_nil(admin_user_id) do + Gettext.dpgettext( + "static_pages", + "account archive email body - self-requested", + """ +You requested a full backup of your Pleroma account. It's ready for download:
+ + """, + download_url: download_url + ) + else + admin = Pleroma.Repo.get(User, admin_user_id) + + Gettext.dpgettext( + "static_pages", + "account archive email body - admin requested", + """ +Admin @%{admin_nickname} requested a full backup of your Pleroma account. It's ready for download:
+ + """, + admin_nickname: admin.nickname, + download_url: download_url + ) + end + + new() + |> to(recipient(user)) + |> from(sender()) + |> subject( + Gettext.dpgettext( + "static_pages", + "account archive email subject", + "Your account archive is ready" + ) + ) + |> html_body(html_body) + end end