Browse Source

[#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.
tags/v0.9.9
Ivan Tashkinov 5 years ago
parent
commit
7cab7de9ff
2 changed files with 13 additions and 2 deletions
  1. +6
    -2
      lib/pleroma/user.ex
  2. +7
    -0
      test/web/twitter_api/twitter_api_controller_test.exs

+ 6
- 2
lib/pleroma/user.ex View File

@@ -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()


+ 7
- 0
test/web/twitter_api/twitter_api_controller_test.exs View File

@@ -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)



Loading…
Cancel
Save