aboutsummaryrefslogtreecommitdiff
path: root/lib/mix
diff options
context:
space:
mode:
authorEgor Kislitsyn <egor@kislitsyn.com>2019-03-04 19:55:11 +0700
committerEgor Kislitsyn <egor@kislitsyn.com>2019-03-04 19:55:11 +0700
commiteb84de01439c4ee25f59390e5be4ffa7f36e01b8 (patch)
tree63c935841bf4063278baff298e00724a2db46794 /lib/mix
parentdd5865535eb16f535ff996eb3dec5e947a905268 (diff)
downloadpleroma-eb84de01439c4ee25f59390e5be4ffa7f36e01b8.tar.gz
allow users to disable their own account
Diffstat (limited to 'lib/mix')
-rw-r--r--lib/mix/tasks/pleroma/user.ex20
1 files changed, 19 insertions, 1 deletions
diff --git a/lib/mix/tasks/pleroma/user.ex b/lib/mix/tasks/pleroma/user.ex
index 037e44716..297332bc4 100644
--- a/lib/mix/tasks/pleroma/user.ex
+++ b/lib/mix/tasks/pleroma/user.ex
@@ -23,7 +23,7 @@ defmodule Mix.Tasks.Pleroma.User do
- `--password PASSWORD` - the user's password
- `--moderator`/`--no-moderator` - whether the user is a moderator
- `--admin`/`--no-admin` - whether the user is an admin
- - `-y`, `--assume-yes`/`--no-assume-yes` - whether to assume yes to all questions
+ - `-y`, `--assume-yes`/`--no-assume-yes` - whether to assume yes to all questions
## Generate an invite link.
@@ -37,6 +37,10 @@ defmodule Mix.Tasks.Pleroma.User do
mix pleroma.user toggle_activated NICKNAME
+ ## Disable or enable the user's account.
+
+ mix pleroma.user toggle_disabled NICKNAME
+
## Unsubscribe local users from user's account and deactivate it
mix pleroma.user unsubscribe NICKNAME
@@ -170,6 +174,20 @@ defmodule Mix.Tasks.Pleroma.User do
end
end
+ def run(["toggle_disabled", nickname]) do
+ Common.start_pleroma()
+
+ case User.get_by_nickname(nickname) do
+ %User{} = user ->
+ {:ok, user} = User.disable(user, !user.info.disabled)
+ status = if(user.info.disabled, do: "ON", else: "OFF")
+ Mix.shell().info("Disabled status of #{nickname}: #{status}")
+
+ _ ->
+ Mix.shell().error("No user #{nickname}")
+ end
+ end
+
def run(["reset_password", nickname]) do
Common.start_pleroma()