- {% trans "Notes" %}
- {{ server.notes }}
+
+ {% if server.notes %}
+ {{ server.notes }}
+ {% endif %}
+
{% trans "Actions" %}
{% if server.status != 'blocked' %}
-
+
{% csrf_token %}
{% trans "Block" %}
{% trans "All users from this instance will be deactivated." %}
diff --git a/bookwyrm/tests/views/test_federation.py b/bookwyrm/tests/views/test_federation.py
index 1ba18143..b31aaf09 100644
--- a/bookwyrm/tests/views/test_federation.py
+++ b/bookwyrm/tests/views/test_federation.py
@@ -64,7 +64,7 @@ class FederationViews(TestCase):
self.assertEqual(server.status, "federated")
- view = views.FederatedServer.as_view()
+ view = views.federation.block_server
request = self.factory.post("")
request.user = self.local_user
request.user.is_superuser = True
diff --git a/bookwyrm/urls.py b/bookwyrm/urls.py
index f2d43a13..c5c52800 100644
--- a/bookwyrm/urls.py
+++ b/bookwyrm/urls.py
@@ -68,6 +68,11 @@ urlpatterns = [
views.FederatedServer.as_view(),
name="settings-federated-server",
),
+ re_path(
+ r"^settings/federation/(?P\d+)/block?$",
+ views.federation.block_server,
+ name="settings-federated-server-block",
+ ),
re_path(
r"^settings/federation/(?P\d+)/unblock?$",
views.federation.unblock_server,
diff --git a/bookwyrm/views/__init__.py b/bookwyrm/views/__init__.py
index 2dc7a1c6..d7bc4e13 100644
--- a/bookwyrm/views/__init__.py
+++ b/bookwyrm/views/__init__.py
@@ -5,7 +5,8 @@ from .block import Block, unblock
from .books import Book, EditBook, ConfirmEditBook, Editions
from .books import upload_cover, add_description, switch_edition, resolve_book
from .directory import Directory
-from .federation import Federation, FederatedServer, AddFederatedServer, unblock_server
+from .federation import Federation, FederatedServer, AddFederatedServer
+from .federation import block_server, unblock_server
from .feed import DirectMessage, Feed, Replies, Status
from .follow import follow, unfollow
from .follow import accept_follow_request, delete_follow_request
diff --git a/bookwyrm/views/federation.py b/bookwyrm/views/federation.py
index 8a21c5a5..f34f7d19 100644
--- a/bookwyrm/views/federation.py
+++ b/bookwyrm/views/federation.py
@@ -88,12 +88,24 @@ class FederatedServer(View):
return TemplateResponse(request, "settings/federated_server.html", data)
def post(self, request, server): # pylint: disable=unused-argument
- """ block a server """
+ """ update note """
server = get_object_or_404(models.FederatedServer, id=server)
- server.block()
+ server.notes = request.POST.get("notes")
+ server.save()
return redirect("settings-federated-server", server.id)
+@login_required
+@require_POST
+@permission_required("bookwyrm.control_federation", raise_exception=True)
+# pylint: disable=unused-argument
+def block_server(request, server):
+ """ block a server """
+ server = get_object_or_404(models.FederatedServer, id=server)
+ server.block()
+ return redirect("settings-federated-server", server.id)
+
+
@login_required
@require_POST
@permission_required("bookwyrm.control_federation", raise_exception=True)