From e4f94780ebdf79bb94617a843a8103b52cf3a47c Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 14 Mar 2022 09:06:29 -0700 Subject: [PATCH 1/4] Uses translated fields in admin user info --- bookwyrm/templates/settings/users/user_info.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bookwyrm/templates/settings/users/user_info.html b/bookwyrm/templates/settings/users/user_info.html index c60ae285..a5447931 100644 --- a/bookwyrm/templates/settings/users/user_info.html +++ b/bookwyrm/templates/settings/users/user_info.html @@ -71,14 +71,14 @@
{{ user.last_active_date }}
{% trans "Manually approved followers:" %}
-
{{ user.manually_approves_followers }}
+
{{ user.manually_approves_followers|yesno }}
{% trans "Discoverable:" %}
-
{{ user.discoverable }}
+
{{ user.discoverable|yesno }}
{% if not user.is_active %}
{% trans "Deactivation reason:" %}
-
{{ user.deactivation_reason }}
+
{{ user.get_deactivation_reason_display }}
{% endif %} {% if not user.is_active and user.deactivation_reason == "pending" %} @@ -104,7 +104,7 @@
{{ server.application_version }}
{% trans "Status:" %}
-
{{ server.status }}
+
{{ server.get_status_display }}
{% if server.notes %}
{% trans "Notes" %}
From bf68b70fba0c8b45ae7fd29350dee708969c606c Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 14 Mar 2022 09:10:48 -0700 Subject: [PATCH 2/4] Use breadcrumbs in use admin view --- bookwyrm/templates/settings/users/user.html | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/bookwyrm/templates/settings/users/user.html b/bookwyrm/templates/settings/users/user.html index 676502e6..c18ba829 100644 --- a/bookwyrm/templates/settings/users/user.html +++ b/bookwyrm/templates/settings/users/user.html @@ -1,10 +1,23 @@ {% extends 'settings/layout.html' %} {% load i18n %} +{% load utilities %} {% block title %}{{ user.username }}{% endblock %} {% block header %} {{ user.username }} -{% trans "Back to users" %} +{% endblock %} + +{% block breadcrumbs %} + {% endblock %} {% block panel %} From 488d702473a90c07a449ce5d2c4afae6a434bb31 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 14 Mar 2022 09:27:18 -0700 Subject: [PATCH 3/4] Separate admin user list into tabbed lists --- .../templates/settings/users/user_admin.html | 101 +++++++++++------- bookwyrm/urls.py | 5 + bookwyrm/views/admin/user_admin.py | 5 +- 3 files changed, 71 insertions(+), 40 deletions(-) diff --git a/bookwyrm/templates/settings/users/user_admin.html b/bookwyrm/templates/settings/users/user_admin.html index 874ce818..e3de7793 100644 --- a/bookwyrm/templates/settings/users/user_admin.html +++ b/bookwyrm/templates/settings/users/user_admin.html @@ -1,5 +1,7 @@ {% extends 'settings/layout.html' %} {% load i18n %} +{% load utilities %} + {% block title %}{% trans "Users" %}{% endblock %} {% block header %} @@ -15,46 +17,67 @@ {% include 'settings/users/user_admin_filters.html' %} - - - {% url 'settings-users' as url %} - - - - - - - {% for user in users %} - - - - - - + {% for user in users %} + + + + + + {% if status != "local" %} + + {% endif %} + + {% endfor %} +
- {% trans "Username" as text %} - {% include 'snippets/table-sort-header.html' with field="username" sort=sort text=text %} - - {% trans "Date Added" as text %} - {% include 'snippets/table-sort-header.html' with field="created_date" sort=sort text=text %} - - {% trans "Last Active" as text %} - {% include 'snippets/table-sort-header.html' with field="last_active_date" sort=sort text=text %} - - {% trans "Status" as text %} - {% include 'snippets/table-sort-header.html' with field="is_active" sort=sort text=text %} - - {% trans "Remote instance" as text %} - {% include 'snippets/table-sort-header.html' with field="federated_server__server_name" sort=sort text=text %} -
{{ user.username }}{{ user.created_date }}{{ user.last_active_date }}{% if user.is_active %}{% trans "Active" %}{% else %}{% trans "Inactive" %}{% endif %} - {% if user.federated_server %} - {{ user.federated_server.server_name }} - {% elif not user.local %} - {% trans "Not set" %} +
+
+ +
+
+ +
+ + + {% url 'settings-users' as url %} + + + + + {% if status != "local" %} + {% endif %} - - - {% endfor %} -
+ {% trans "Username" as text %} + {% include 'snippets/table-sort-header.html' with field="username" sort=sort text=text %} + + {% trans "Date Added" as text %} + {% include 'snippets/table-sort-header.html' with field="created_date" sort=sort text=text %} + + {% trans "Last Active" as text %} + {% include 'snippets/table-sort-header.html' with field="last_active_date" sort=sort text=text %} + + {% trans "Status" as text %} + {% include 'snippets/table-sort-header.html' with field="is_active" sort=sort text=text %} + + {% trans "Remote instance" as text %} + {% include 'snippets/table-sort-header.html' with field="federated_server__server_name" sort=sort text=text %} +
+
{{ user|username }}{{ user.created_date }}{{ user.last_active_date }}{% if user.is_active %}{% trans "Active" %}{% else %}{% trans "Inactive" %}{% endif %} + {% if user.federated_server %} + {{ user.federated_server.server_name }} + {% else %} + {% trans "Not set" %} + {% endif %} +
+ {% include 'snippets/pagination.html' with page=users path=request.path %} {% endblock %} diff --git a/bookwyrm/urls.py b/bookwyrm/urls.py index b9c348a4..4d7f503f 100644 --- a/bookwyrm/urls.py +++ b/bookwyrm/urls.py @@ -125,6 +125,11 @@ urlpatterns = [ re_path( r"^settings/users/?$", views.UserAdminList.as_view(), name="settings-users" ), + re_path( + r"^settings/users/(?P(local|federated))\/?$", + views.UserAdminList.as_view(), + name="settings-users", + ), re_path( r"^settings/users/(?P\d+)/?$", views.UserAdmin.as_view(), diff --git a/bookwyrm/views/admin/user_admin.py b/bookwyrm/views/admin/user_admin.py index aa847959..df716d2c 100644 --- a/bookwyrm/views/admin/user_admin.py +++ b/bookwyrm/views/admin/user_admin.py @@ -19,7 +19,7 @@ from bookwyrm.settings import PAGE_LENGTH class UserAdminList(View): """admin view of users on this server""" - def get(self, request): + def get(self, request, status="local"): """list of users""" filters = {} server = request.GET.get("server") @@ -37,6 +37,8 @@ class UserAdminList(View): if email: filters["email__endswith"] = email + filters["local"] = status == "local" + users = models.User.objects.filter(**filters) sort = request.GET.get("sort", "-created_date") @@ -56,6 +58,7 @@ class UserAdminList(View): "users": paginated.get_page(request.GET.get("page")), "sort": sort, "server": server, + "status": status, } return TemplateResponse(request, "settings/users/user_admin.html", data) From f42e86343494beee61260c9429cf3b7621f0d8fc Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 14 Mar 2022 09:38:03 -0700 Subject: [PATCH 4/4] Updates user admin filters --- .../settings/reports/report_filters.html | 7 +++++++ bookwyrm/templates/settings/reports/reports.html | 2 +- .../templates/settings/users/email_filter.html | 16 ++++++++++++++++ .../settings/users/user_admin_filters.html | 7 ++++++- 4 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 bookwyrm/templates/settings/reports/report_filters.html create mode 100644 bookwyrm/templates/settings/users/email_filter.html diff --git a/bookwyrm/templates/settings/reports/report_filters.html b/bookwyrm/templates/settings/reports/report_filters.html new file mode 100644 index 00000000..48a3b7c8 --- /dev/null +++ b/bookwyrm/templates/settings/reports/report_filters.html @@ -0,0 +1,7 @@ +{% extends 'snippets/filters_panel/filters_panel.html' %} + +{% block filter_fields %} +{% include 'settings/users/username_filter.html' %} +{% include 'directory/community_filter.html' %} +{% include 'settings/users/server_filter.html' %} +{% endblock %} diff --git a/bookwyrm/templates/settings/reports/reports.html b/bookwyrm/templates/settings/reports/reports.html index c72fd03d..99cca1a7 100644 --- a/bookwyrm/templates/settings/reports/reports.html +++ b/bookwyrm/templates/settings/reports/reports.html @@ -30,7 +30,7 @@ -{% include 'settings/users/user_admin_filters.html' %} +{% include 'settings/reports/report_filters.html' %}
{% if not reports %} diff --git a/bookwyrm/templates/settings/users/email_filter.html b/bookwyrm/templates/settings/users/email_filter.html new file mode 100644 index 00000000..5d49d615 --- /dev/null +++ b/bookwyrm/templates/settings/users/email_filter.html @@ -0,0 +1,16 @@ +{% extends 'snippets/filters_panel/filter_field.html' %} +{% load i18n %} + +{% block filter %} + +
+ +
+{% endblock %} + diff --git a/bookwyrm/templates/settings/users/user_admin_filters.html b/bookwyrm/templates/settings/users/user_admin_filters.html index 48a3b7c8..c5ab2dab 100644 --- a/bookwyrm/templates/settings/users/user_admin_filters.html +++ b/bookwyrm/templates/settings/users/user_admin_filters.html @@ -2,6 +2,11 @@ {% block filter_fields %} {% include 'settings/users/username_filter.html' %} -{% include 'directory/community_filter.html' %} + +{% if status != "local" %} {% include 'settings/users/server_filter.html' %} +{% else %} +{% include 'settings/users/email_filter.html' %} +{% endif %} + {% endblock %}