diff --git a/bookwyrm/templates/moderation/report.html b/bookwyrm/templates/moderation/report.html index a231c41c..1cadd28d 100644 --- a/bookwyrm/templates/moderation/report.html +++ b/bookwyrm/templates/moderation/report.html @@ -1,5 +1,6 @@ {% extends 'settings/admin_layout.html' %} {% load i18n %} +{% load bookwyrm_tags %} {% load humanize %} {% block title %}{% blocktrans with report_id=report.id username=report.user.username %}Report #{{ report_id }}: {{ username }}{% endblocktrans %}{% endblock %} @@ -14,9 +15,62 @@ {% include 'moderation/report_preview.html' with report=report %} +
+
+

{% trans "User details" %}

+
+ {% include 'user/user_preview.html' with user=report.user %} + {% if report.user.summary %} +
+ {{ report.user.summary | to_markdown | safe }} +
+ {% endif %} + +

{% trans "View user profile" %}

+
+
+ {% if not report.user.local %} + {% with server=report.user.federated_server %} +
+

{% trans "Instance details" %}

+
+ {% if server %} +
{{ server.server_name }}
+
+
+
{% trans "Software:" %}
+
{{ server.application_type }}
+
+
+
{% trans "Version:" %}
+
{{ server.application_version }}
+
+
+
{% trans "Status:" %}
+
{{ server.status }}
+
+
+ {% if server.notes %} +
{% trans "Notes" %}
+
+ {{ server.notes }} +
+ {% endif %} + +

+ {% trans "View instance" %} +

+ {% else %} + {% trans "Not set" %} + {% endif %} +
+
+ {% endwith %} + {% endif %} +
+

{% trans "Actions" %}

-

{% trans "View user profile" %}

{% trans "Send direct message" %} diff --git a/bookwyrm/templates/moderation/report_modal.html b/bookwyrm/templates/moderation/report_modal.html index ce8408ee..0d6504ab 100644 --- a/bookwyrm/templates/moderation/report_modal.html +++ b/bookwyrm/templates/moderation/report_modal.html @@ -15,7 +15,9 @@ {% csrf_token %} +{% if status %} +{% endif %}

{% blocktrans with site_name=site.name %}This report will be sent to {{ site_name }}'s moderators for review.{% endblocktrans %}

diff --git a/bookwyrm/templates/snippets/user_options.html b/bookwyrm/templates/snippets/user_options.html index 585417c7..ec772e54 100644 --- a/bookwyrm/templates/snippets/user_options.html +++ b/bookwyrm/templates/snippets/user_options.html @@ -13,7 +13,7 @@ {% trans "Send direct message" %}
  • - {% include 'snippets/report_button.html' with user=status.user class="is-fullwidth" %} + {% include 'snippets/report_button.html' with user=user class="is-fullwidth" %}
  • {% include 'snippets/block_button.html' with user=user class="is-fullwidth" %} diff --git a/bookwyrm/tests/management/__init__.py b/bookwyrm/tests/management/__init__.py new file mode 100644 index 00000000..b6e690fd --- /dev/null +++ b/bookwyrm/tests/management/__init__.py @@ -0,0 +1 @@ +from . import * diff --git a/bookwyrm/tests/management/test_populate_streams.py b/bookwyrm/tests/management/test_populate_streams.py new file mode 100644 index 00000000..6a9b6b8a --- /dev/null +++ b/bookwyrm/tests/management/test_populate_streams.py @@ -0,0 +1,44 @@ +""" test populating user streams """ +from unittest.mock import patch +from django.test import TestCase + +from bookwyrm import models +from bookwyrm.management.commands.populate_streams import populate_streams + + +@patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay") +class Activitystreams(TestCase): + """ using redis to build activity streams """ + + def setUp(self): + """ we need some stuff """ + self.local_user = models.User.objects.create_user( + "mouse", "mouse@mouse.mouse", "password", local=True, localname="mouse" + ) + self.another_user = models.User.objects.create_user( + "nutria", "nutria@nutria.nutria", "password", local=True, localname="nutria" + ) + with patch("bookwyrm.models.user.set_remote_server.delay"): + self.remote_user = models.User.objects.create_user( + "rat", + "rat@rat.com", + "ratword", + local=False, + remote_id="https://example.com/users/rat", + inbox="https://example.com/users/rat/inbox", + outbox="https://example.com/users/rat/outbox", + ) + self.book = models.Edition.objects.create(title="test book") + + def test_populate_streams(self, _): + """ make sure the function on the redis manager gets called """ + with patch("bookwyrm.activitystreams.ActivityStream.add_status"): + models.Comment.objects.create( + user=self.local_user, content="hi", book=self.book + ) + + with patch( + "bookwyrm.activitystreams.ActivityStream.populate_store" + ) as redis_mock: + populate_streams() + self.assertEqual(redis_mock.call_count, 6) # 2 users x 3 streams diff --git a/bookwyrm/views/reports.py b/bookwyrm/views/reports.py index cb1a62ff..f2566494 100644 --- a/bookwyrm/views/reports.py +++ b/bookwyrm/views/reports.py @@ -98,8 +98,7 @@ def make_report(request): """ a user reports something """ form = forms.ReportForm(request.POST) if not form.is_valid(): - print(form.errors) - return redirect(request.headers.get("Referer", "/")) + raise ValueError(form.errors) form.save() return redirect(request.headers.get("Referer", "/"))