diff options
| author | rinpatch <rinpatch@sdf.org> | 2019-11-15 14:11:48 +0000 | 
|---|---|---|
| committer | rinpatch <rinpatch@sdf.org> | 2019-11-15 14:11:48 +0000 | 
| commit | 22554ac5ca056c2db627fc2daa5ffc8710be5c89 (patch) | |
| tree | 6d3fb3c7690f07260b8949cd6c728ba9492729b0 /lib | |
| parent | 13b6aefd59776b5979175cfce8d6d8dd0183a324 (diff) | |
| parent | f17e0f8e4f8f6249d1de9ad8a21953cca4963045 (diff) | |
| download | pleroma-22554ac5ca056c2db627fc2daa5ffc8710be5c89.tar.gz pleroma-22554ac5ca056c2db627fc2daa5ffc8710be5c89.zip | |
Merge branch 'bugfix/1395-email-activation' into 'develop'
Bugfix/1395 email activation
Closes #1395
See merge request pleroma/pleroma!1965
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/pleroma/plugs/oauth_plug.ex | 2 | ||||
| -rw-r--r-- | lib/pleroma/plugs/user_enabled_plug.ex | 10 | ||||
| -rw-r--r-- | lib/pleroma/user.ex | 3 | ||||
| -rw-r--r-- | lib/pleroma/web/router.ex | 1 | 
4 files changed, 12 insertions, 4 deletions
| diff --git a/lib/pleroma/plugs/oauth_plug.ex b/lib/pleroma/plugs/oauth_plug.ex index fd004fcd2..11a5b7642 100644 --- a/lib/pleroma/plugs/oauth_plug.ex +++ b/lib/pleroma/plugs/oauth_plug.ex @@ -71,7 +71,7 @@ defmodule Pleroma.Plugs.OAuthPlug do        )      # credo:disable-for-next-line Credo.Check.Readability.MaxLineLength -    with %Token{user: %{deactivated: false} = user} = token_record <- Repo.one(query) do +    with %Token{user: user} = token_record <- Repo.one(query) do        {:ok, user, token_record}      end    end diff --git a/lib/pleroma/plugs/user_enabled_plug.ex b/lib/pleroma/plugs/user_enabled_plug.ex index fbb4bf115..8d102ee5b 100644 --- a/lib/pleroma/plugs/user_enabled_plug.ex +++ b/lib/pleroma/plugs/user_enabled_plug.ex @@ -10,9 +10,13 @@ defmodule Pleroma.Plugs.UserEnabledPlug do      options    end -  def call(%{assigns: %{user: %User{deactivated: true}}} = conn, _) do -    conn -    |> assign(:user, nil) +  def call(%{assigns: %{user: %User{} = user}} = conn, _) do +    if User.auth_active?(user) do +      conn +    else +      conn +      |> assign(:user, nil) +    end    end    def call(conn, _) do diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index f8c2db1e1..fcb1d5143 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -124,6 +124,9 @@ defmodule Pleroma.User do      timestamps()    end +  @doc "Returns if the user should be allowed to authenticate" +  def auth_active?(%User{deactivated: true}), do: false +    def auth_active?(%User{confirmation_pending: true}),      do: !Pleroma.Config.get([:instance, :account_activation_required]) diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex index 9b8b373b8..129da422c 100644 --- a/lib/pleroma/web/router.ex +++ b/lib/pleroma/web/router.ex @@ -13,6 +13,7 @@ defmodule Pleroma.Web.Router do    pipeline :oauth do      plug(:fetch_session)      plug(Pleroma.Plugs.OAuthPlug) +    plug(Pleroma.Plugs.UserEnabledPlug)    end    pipeline :api do | 
