diff options
author | Alex Gleason <alex@alexgleason.me> | 2020-07-12 19:11:30 -0500 |
---|---|---|
committer | Alex Gleason <alex@alexgleason.me> | 2020-07-12 20:27:14 -0500 |
commit | a62f17da17fbebf817796b0278060abe2829c903 (patch) | |
tree | 581409c4a65acd196a973aa10154ed6b4b8b010f | |
parent | 11dd29ef3f9bb5b0b3109eb572c3d5ae2c830ea3 (diff) | |
download | pleroma-a62f17da17fbebf817796b0278060abe2829c903.tar.gz |
Add `approval_pending` field to User
-rw-r--r-- | lib/pleroma/user.ex | 2 | ||||
-rw-r--r-- | priv/repo/migrations/20200712234852_add_approval_pending_to_users.exs | 9 | ||||
-rw-r--r-- | test/user_test.exs | 5 |
3 files changed, 16 insertions, 0 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index b9989f901..25c63fc44 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -106,6 +106,7 @@ defmodule Pleroma.User do field(:locked, :boolean, default: false) field(:confirmation_pending, :boolean, default: false) field(:password_reset_pending, :boolean, default: false) + field(:approval_pending, :boolean, default: false) field(:confirmation_token, :string, default: nil) field(:default_scope, :string, default: "public") field(:domain_blocks, {:array, :string}, default: []) @@ -262,6 +263,7 @@ defmodule Pleroma.User do @spec account_status(User.t()) :: account_status() def account_status(%User{deactivated: true}), do: :deactivated def account_status(%User{password_reset_pending: true}), do: :password_reset_pending + def account_status(%User{approval_pending: true}), do: :approval_pending def account_status(%User{confirmation_pending: true}) do if Config.get([:instance, :account_activation_required]) do diff --git a/priv/repo/migrations/20200712234852_add_approval_pending_to_users.exs b/priv/repo/migrations/20200712234852_add_approval_pending_to_users.exs new file mode 100644 index 000000000..f7eb8179b --- /dev/null +++ b/priv/repo/migrations/20200712234852_add_approval_pending_to_users.exs @@ -0,0 +1,9 @@ +defmodule Pleroma.Repo.Migrations.AddApprovalPendingToUsers do + use Ecto.Migration + + def change do + alter table(:users) do + add(:approval_pending, :boolean) + end + end +end diff --git a/test/user_test.exs b/test/user_test.exs index 9788e09d9..040f532fe 100644 --- a/test/user_test.exs +++ b/test/user_test.exs @@ -1342,6 +1342,11 @@ defmodule Pleroma.UserTest do user = insert(:user, local: true, confirmation_pending: false, deactivated: true) assert User.account_status(user) == :deactivated end + + test "returns :approval_pending for unapproved user" do + user = insert(:user, local: true, confirmation_pending: false, approval_pending: true) + assert User.account_status(user) == :approval_pending + end end describe "superuser?/1" do |