Merge branch 'develop' into fix/reports-from-admins
[akkoma] / lib / pleroma / web / admin_api / controllers / user_controller.ex
index 5e049aa0f8d0ed2583251ddb30e633996598fa47..a18b9f8d54c16d178dffacaa73817308408af284 100644 (file)
@@ -1,5 +1,5 @@
 # Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Pleroma.Web.AdminAPI.UserController do
@@ -9,13 +9,13 @@ defmodule Pleroma.Web.AdminAPI.UserController do
     only: [fetch_integer_param: 3]
 
   alias Pleroma.ModerationLog
-  alias Pleroma.Plugs.OAuthScopesPlug
   alias Pleroma.User
   alias Pleroma.Web.ActivityPub.Builder
   alias Pleroma.Web.ActivityPub.Pipeline
   alias Pleroma.Web.AdminAPI
   alias Pleroma.Web.AdminAPI.AccountView
   alias Pleroma.Web.AdminAPI.Search
+  alias Pleroma.Web.Plugs.OAuthScopesPlug
 
   @users_page_size 50
 
@@ -172,9 +172,9 @@ defmodule Pleroma.Web.AdminAPI.UserController do
   def toggle_activation(%{assigns: %{user: admin}} = conn, %{"nickname" => nickname}) do
     user = User.get_cached_by_nickname(nickname)
 
-    {:ok, updated_user} = User.deactivate(user, !user.deactivated)
+    {:ok, updated_user} = User.set_activation(user, !user.is_active)
 
-    action = if user.deactivated, do: "activate", else: "deactivate"
+    action = if !user.is_active, do: "activate", else: "deactivate"
 
     ModerationLog.insert_log(%{
       actor: admin,
@@ -189,7 +189,7 @@ defmodule Pleroma.Web.AdminAPI.UserController do
 
   def activate(%{assigns: %{user: admin}} = conn, %{"nicknames" => nicknames}) do
     users = Enum.map(nicknames, &User.get_cached_by_nickname/1)
-    {:ok, updated_users} = User.deactivate(users, false)
+    {:ok, updated_users} = User.set_activation(users, true)
 
     ModerationLog.insert_log(%{
       actor: admin,
@@ -204,7 +204,7 @@ defmodule Pleroma.Web.AdminAPI.UserController do
 
   def deactivate(%{assigns: %{user: admin}} = conn, %{"nicknames" => nicknames}) do
     users = Enum.map(nicknames, &User.get_cached_by_nickname/1)
-    {:ok, updated_users} = User.deactivate(users, true)
+    {:ok, updated_users} = User.set_activation(users, false)
 
     ModerationLog.insert_log(%{
       actor: admin,
@@ -243,7 +243,8 @@ defmodule Pleroma.Web.AdminAPI.UserController do
         page_size: page_size,
         tags: params["tags"],
         name: params["name"],
-        email: params["email"]
+        email: params["email"],
+        actor_types: params["actor_types"]
       }
       |> Map.merge(filters)
 
@@ -259,7 +260,7 @@ defmodule Pleroma.Web.AdminAPI.UserController do
     end
   end
 
-  @filters ~w(local external active deactivated need_approval need_confirmed is_admin is_moderator)
+  @filters ~w(local external active deactivated need_approval unconfirmed is_admin is_moderator)
 
   @spec maybe_parse_filters(String.t()) :: %{required(String.t()) => true} | %{}
   defp maybe_parse_filters(filters) when is_nil(filters) or filters == "", do: %{}