logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git
commit: 28005563f00028981cf516cceb16c2b55bd0e97c
parent c69b20540958b4de9cc4fd66595d43f26bcd5fd1
Author: Alex Gleason <alex@alexgleason.me>
Date:   Sun, 11 Oct 2020 20:50:09 -0500

Send approval pending email during registration

Diffstat:

Mlib/pleroma/emails/user_email.ex13+++++++++++++
Mlib/pleroma/user.ex6+++++-
Mtest/emails/user_email_test.exs11+++++++++++
3 files changed, 29 insertions(+), 1 deletion(-)

diff --git a/lib/pleroma/emails/user_email.ex b/lib/pleroma/emails/user_email.ex @@ -93,6 +93,19 @@ defmodule Pleroma.Emails.UserEmail do |> html_body(html_body) end + def approval_pending_email(user) do + html_body = """ + <h3>Awaiting Approval</h3> + <p>Your account at #{instance_name()} is being reviewed by staff. You will receive another email once your account is approved.</p> + """ + + new() + |> to(recipient(user)) + |> from(sender()) + |> subject("Your account is awaiting approval") + |> html_body(html_body) + end + @doc """ Email used in digest email notifications Includes Mentions and New Followers data diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex @@ -779,7 +779,11 @@ defmodule Pleroma.User do end def post_register_action(%User{approval_pending: true} = user) do - # TODO: Send approval explanation email + # Send approval pending email + user + |> Pleroma.Emails.UserEmail.approval_pending_email() + |> Pleroma.Emails.Mailer.deliver_async() + {:ok, user} end diff --git a/test/emails/user_email_test.exs b/test/emails/user_email_test.exs @@ -45,4 +45,15 @@ defmodule Pleroma.Emails.UserEmailTest do assert email.html_body =~ Router.Helpers.confirm_email_url(Endpoint, :confirm_email, user.id, "conf-token") end + + test "build approval pending email" do + config = Pleroma.Config.get(:instance) + user = insert(:user) + email = UserEmail.approval_pending_email(user) + + assert email.from == {config[:name], config[:notify_email]} + assert email.to == [{user.name, user.email}] + assert email.subject == "Your account is awaiting approval" + assert email.html_body =~ "Awaiting Approval" + end end