From 62cbfe0fac3be7c50e1bdf89e17490dacac8fbaf Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Sun, 28 Mar 2021 13:03:24 -0700 Subject: [PATCH] Filter reports by server --- bookwyrm/templates/moderation/reports.html | 21 +++++++++++++++++-- .../templates/settings/federated_server.html | 2 +- bookwyrm/views/reports.py | 10 ++++++++- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/bookwyrm/templates/moderation/reports.html b/bookwyrm/templates/moderation/reports.html index ebf29a7a7..f486711f4 100644 --- a/bookwyrm/templates/moderation/reports.html +++ b/bookwyrm/templates/moderation/reports.html @@ -1,8 +1,21 @@ {% extends 'settings/admin_layout.html' %} {% load i18n %} -{% block title %}{% trans "Reports" %}{% endblock %} -{% block header %}{% trans "Reports" %}{% endblock %} +{% block title %} +{% if server %} +{% blocktrans with server_name=server.server_name %}Reports: {{ server_name }}{% endblocktrans %} +{% else %} +{% trans "Reports" %} +{% endif %} +{% endblock %} +{% block header %} +{% if server %} +{% blocktrans with server_name=server.server_name %}Reports: {{ server_name }}{% endblocktrans %} +Clear filters +{% else %} +{% trans "Reports" %} +{% endif %} +{% endblock %} {% block panel %}
@@ -17,6 +30,10 @@
+ {% if not reports %} + {% trans "No reports found." %} + {% endif %} + {% for report in reports %}
{% include 'moderation/report_preview.html' with report=report %} diff --git a/bookwyrm/templates/settings/federated_server.html b/bookwyrm/templates/settings/federated_server.html index dfeb6b3a3..7d65309b7 100644 --- a/bookwyrm/templates/settings/federated_server.html +++ b/bookwyrm/templates/settings/federated_server.html @@ -40,7 +40,7 @@
{% trans "Reports:" %}
{{ reports.count }} - {# {% if server.user_set.count %}({% trans "View all users" %}){% endif %} #} + {% if reports.count %}({% trans "View all" %}){% endif %}
diff --git a/bookwyrm/views/reports.py b/bookwyrm/views/reports.py index 06909cf11..cb1a62ffb 100644 --- a/bookwyrm/views/reports.py +++ b/bookwyrm/views/reports.py @@ -24,10 +24,18 @@ class Reports(View): def get(self, request): """ view current reports """ + filters = {} + resolved = request.GET.get("resolved") == "true" + server = request.GET.get("server") + if server: + server = get_object_or_404(models.FederatedServer, id=server) + filters["user__federated_server"] = server + filters["resolved"] = resolved data = { "resolved": resolved, - "reports": models.Report.objects.filter(resolved=resolved), + "server": server, + "reports": models.Report.objects.filter(**filters), } return TemplateResponse(request, "moderation/reports.html", data)