[#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.
This commit is contained in:
parent
f69cbf4755
commit
7cab7de9ff
@ -38,7 +38,10 @@ defmodule Pleroma.User do
|
|||||||
timestamps()
|
timestamps()
|
||||||
end
|
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)
|
def superuser?(%User{} = user), do: user.info && User.Info.superuser?(user.info)
|
||||||
|
|
||||||
@ -220,7 +223,8 @@ defmodule Pleroma.User do
|
|||||||
end
|
end
|
||||||
|
|
||||||
def try_send_confirmation_email(%User{} = user) do
|
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
|
user
|
||||||
|> Pleroma.UserEmail.account_confirmation_email()
|
|> Pleroma.UserEmail.account_confirmation_email()
|
||||||
|> Pleroma.Mailer.deliver()
|
|> Pleroma.Mailer.deliver()
|
||||||
|
@ -919,6 +919,13 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do
|
|||||||
|
|
||||||
describe "POST /api/account/resend_confirmation_email" do
|
describe "POST /api/account/resend_confirmation_email" do
|
||||||
setup 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)
|
user = insert(:user)
|
||||||
info_change = User.Info.confirmation_changeset(user.info, :unconfirmed)
|
info_change = User.Info.confirmation_changeset(user.info, :unconfirmed)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user