aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Tashkinov <ivantashkinov@gmail.com>2018-12-20 14:48:48 +0300
committerIvan Tashkinov <ivantashkinov@gmail.com>2018-12-20 14:48:48 +0300
commit7cab7de9ff0432a582cfca0852a4b66fdd124c41 (patch)
tree48169618f7edccd5a56ecf06cb08f79f444be53d
parentf69cbf4755b974de0303731327180bb51ed244fc (diff)
downloadpleroma-7cab7de9ff0432a582cfca0852a4b66fdd124c41.tar.gz
[#114] Allowed unconfirmed users to authenticate if :account_activation_required is disabled prior to confirmation.
Ensured that no confirmation emails are sent if :account_activation_required is not true. Adjusted tests.
-rw-r--r--lib/pleroma/user.ex8
-rw-r--r--test/web/twitter_api/twitter_api_controller_test.exs7
2 files changed, 13 insertions, 2 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index ad50cf558..f8827abec 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -38,7 +38,10 @@ defmodule Pleroma.User do
timestamps()
end
- def auth_active?(%User{} = user), do: user.info && !user.info.confirmation_pending
+ def auth_active?(%User{} = user) do
+ (user.info && !user.info.confirmation_pending) ||
+ !Pleroma.Config.get([:instance, :account_activation_required])
+ end
def superuser?(%User{} = user), do: user.info && User.Info.superuser?(user.info)
@@ -220,7 +223,8 @@ defmodule Pleroma.User do
end
def try_send_confirmation_email(%User{} = user) do
- if user.info.confirmation_pending do
+ if user.info.confirmation_pending &&
+ Pleroma.Config.get([:instance, :account_activation_required]) do
user
|> Pleroma.UserEmail.account_confirmation_email()
|> Pleroma.Mailer.deliver()
diff --git a/test/web/twitter_api/twitter_api_controller_test.exs b/test/web/twitter_api/twitter_api_controller_test.exs
index 16422c35a..1324bcc71 100644
--- a/test/web/twitter_api/twitter_api_controller_test.exs
+++ b/test/web/twitter_api/twitter_api_controller_test.exs
@@ -919,6 +919,13 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do
describe "POST /api/account/resend_confirmation_email" do
setup do
+ setting = Pleroma.Config.get([:instance, :account_activation_required])
+
+ unless setting do
+ Pleroma.Config.put([:instance, :account_activation_required], true)
+ on_exit(fn -> Pleroma.Config.put([:instance, :account_activation_required], setting) end)
+ end
+
user = insert(:user)
info_change = User.Info.confirmation_changeset(user.info, :unconfirmed)