diff --git a/bookwyrm/templates/user_admin/user_moderation_actions.html b/bookwyrm/templates/user_admin/user_moderation_actions.html
index 043ef386..311cbb4b 100644
--- a/bookwyrm/templates/user_admin/user_moderation_actions.html
+++ b/bookwyrm/templates/user_admin/user_moderation_actions.html
@@ -5,12 +5,12 @@
{% trans "Send direct message" %}
-
diff --git a/bookwyrm/urls.py b/bookwyrm/urls.py
index 5768ee01..8c5266a6 100644
--- a/bookwyrm/urls.py
+++ b/bookwyrm/urls.py
@@ -63,7 +63,7 @@ urlpatterns = [
re_path(
r"^settings/users/(?P\d+)/?$",
views.UserAdmin.as_view(),
- name="settings-user"
+ name="settings-user",
),
re_path(
r"^settings/federation/?$",
@@ -120,9 +120,9 @@ urlpatterns = [
name="settings-report",
),
re_path(
- r"^settings/reports/(?P\d+)/deactivate/?$",
- views.deactivate_user,
- name="settings-report-deactivate",
+ r"^settings/reports/(?P\d+)/suspend/?$",
+ views.suspend_user,
+ name="settings-report-suspend",
),
re_path(
r"^settings/reports/(?P\d+)/resolve/?$",
diff --git a/bookwyrm/views/__init__.py b/bookwyrm/views/__init__.py
index 7714bbda..c0f35ba8 100644
--- a/bookwyrm/views/__init__.py
+++ b/bookwyrm/views/__init__.py
@@ -25,7 +25,7 @@ from .notifications import Notifications
from .outbox import Outbox
from .reading import edit_readthrough, create_readthrough, delete_readthrough
from .reading import start_reading, finish_reading, delete_progressupdate
-from .reports import Report, Reports, make_report, resolve_report, deactivate_user
+from .reports import Report, Reports, make_report, resolve_report, suspend_user
from .rss_feed import RssFeed
from .password import PasswordResetRequest, PasswordReset, ChangePassword
from .search import Search
diff --git a/bookwyrm/views/reports.py b/bookwyrm/views/reports.py
index 3dd53cb9..07eb9b97 100644
--- a/bookwyrm/views/reports.py
+++ b/bookwyrm/views/reports.py
@@ -74,12 +74,13 @@ class Report(View):
@login_required
@permission_required("bookwyrm_moderate_user")
-def deactivate_user(_, report_id):
+def suspend_user(_, user_id):
""" mark an account as inactive """
- report = get_object_or_404(models.Report, id=report_id)
- report.user.is_active = not report.user.is_active
- report.user.save()
- return redirect("settings-report", report.id)
+ user = get_object_or_404(models.User, id=user_id)
+ user.is_active = not user.is_active
+ # this isn't a full deletion, so we don't want to tell the world
+ user.save(broadcast=False)
+ return redirect("settings-user", user.id)
@login_required
diff --git a/bookwyrm/views/user_admin.py b/bookwyrm/views/user_admin.py
index 895c1464..0aea74ed 100644
--- a/bookwyrm/views/user_admin.py
+++ b/bookwyrm/views/user_admin.py
@@ -57,6 +57,7 @@ class UserAdminList(View):
}
return TemplateResponse(request, "user_admin/user_admin.html", data)
+
@method_decorator(login_required, name="dispatch")
@method_decorator(
permission_required("bookwyrm.moderate_users", raise_exception=True),