aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLain Iwakura <lain@soykaf.club>2017-12-07 17:47:23 +0100
committerLain Iwakura <lain@soykaf.club>2017-12-07 17:47:23 +0100
commitb727ecc5e75388e2b2d67c76cab6df1a7e6719b3 (patch)
treee59f7c1531d682a62c3fd5007248400b833ba96a
parent0ec5aeb8a76653935caefa0de92861269f98f343 (diff)
downloadpleroma-b727ecc5e75388e2b2d67c76cab6df1a7e6719b3.tar.gz
Add function to deactivate users.
-rw-r--r--lib/pleroma/user.ex5
-rw-r--r--test/user_test.exs8
2 files changed, 12 insertions, 1 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index afc62f265..779a89a12 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -334,4 +334,9 @@ defmodule Pleroma.User do
where: u.local == true
end
+ def deactivate (%User{} = user) do
+ new_info = Map.put(user.info, "deactivated", true)
+ cs = User.info_changeset(user, %{info: new_info})
+ Repo.update(cs)
+ end
end
diff --git a/test/user_test.exs b/test/user_test.exs
index 31c5962e2..6daf1ecb7 100644
--- a/test/user_test.exs
+++ b/test/user_test.exs
@@ -325,5 +325,11 @@ defmodule Pleroma.UserTest do
assert user in recipients
assert addressed in recipients
end
-end
+ test ".deactivate deactivates a user" do
+ user = insert(:user)
+ assert false == !!user.info["deactivated"]
+ {:ok, user} = User.deactivate(user)
+ assert true == user.info["deactivated"]
+ end
+end