Edit notes on federated servers
This commit is contained in:
parent
96d15d3d57
commit
659986771f
|
@ -71,14 +71,34 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<section class="block content">
|
<section class="block content">
|
||||||
<h2 class="title is-4">{% trans "Notes" %}</h2>
|
<header class="columns is-mobile">
|
||||||
<p>{{ server.notes }}</p>
|
<div class="column">
|
||||||
|
<h2 class="title is-4 mb-0">{% trans "Notes" %}</h2>
|
||||||
|
</div>
|
||||||
|
<div class="column is-narrow">
|
||||||
|
{% trans "Edit" as button_text %}
|
||||||
|
{% include 'snippets/toggle/open_button.html' with text=button_text icon="pencil" controls_text="edit-notes" %}
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
{% if server.notes %}
|
||||||
|
<p id="hide-edit-notes">{{ server.notes }}</p>
|
||||||
|
{% endif %}
|
||||||
|
<form class="box is-hidden" method="POST" action="{% url 'settings-federated-server' server.id %}" id="edit-notes">
|
||||||
|
{% csrf_token %}
|
||||||
|
<p>
|
||||||
|
<label class="is-sr-only" for="id_notes">Notes:</label>
|
||||||
|
<textarea name="notes" cols="None" rows="None" class="textarea" id="id_notes">{{ server.notes|default:"" }}</textarea>
|
||||||
|
</p>
|
||||||
|
<button type="submit" class="button is-primary">{% trans "Save" %}</button>
|
||||||
|
{% trans "Cancel" as button_text %}
|
||||||
|
{% include 'snippets/toggle/close_button.html' with text=button_text controls_text="edit-notes" %}
|
||||||
|
</form>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="block content">
|
<section class="block content">
|
||||||
<h2 class="title is-4">{% trans "Actions" %}</h2>
|
<h2 class="title is-4">{% trans "Actions" %}</h2>
|
||||||
{% if server.status != 'blocked' %}
|
{% if server.status != 'blocked' %}
|
||||||
<form class="block" method="post" action="{% url 'settings-federated-server' server.id %}">
|
<form class="block" method="post" action="{% url 'settings-federated-server-block' server.id %}">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<button class="button is-danger">{% trans "Block" %}</button>
|
<button class="button is-danger">{% trans "Block" %}</button>
|
||||||
<p class="help">{% trans "All users from this instance will be deactivated." %}</p>
|
<p class="help">{% trans "All users from this instance will be deactivated." %}</p>
|
||||||
|
|
|
@ -64,7 +64,7 @@ class FederationViews(TestCase):
|
||||||
|
|
||||||
self.assertEqual(server.status, "federated")
|
self.assertEqual(server.status, "federated")
|
||||||
|
|
||||||
view = views.FederatedServer.as_view()
|
view = views.federation.block_server
|
||||||
request = self.factory.post("")
|
request = self.factory.post("")
|
||||||
request.user = self.local_user
|
request.user = self.local_user
|
||||||
request.user.is_superuser = True
|
request.user.is_superuser = True
|
||||||
|
|
|
@ -68,6 +68,11 @@ urlpatterns = [
|
||||||
views.FederatedServer.as_view(),
|
views.FederatedServer.as_view(),
|
||||||
name="settings-federated-server",
|
name="settings-federated-server",
|
||||||
),
|
),
|
||||||
|
re_path(
|
||||||
|
r"^settings/federation/(?P<server>\d+)/block?$",
|
||||||
|
views.federation.block_server,
|
||||||
|
name="settings-federated-server-block",
|
||||||
|
),
|
||||||
re_path(
|
re_path(
|
||||||
r"^settings/federation/(?P<server>\d+)/unblock?$",
|
r"^settings/federation/(?P<server>\d+)/unblock?$",
|
||||||
views.federation.unblock_server,
|
views.federation.unblock_server,
|
||||||
|
|
|
@ -5,7 +5,8 @@ from .block import Block, unblock
|
||||||
from .books import Book, EditBook, ConfirmEditBook, Editions
|
from .books import Book, EditBook, ConfirmEditBook, Editions
|
||||||
from .books import upload_cover, add_description, switch_edition, resolve_book
|
from .books import upload_cover, add_description, switch_edition, resolve_book
|
||||||
from .directory import Directory
|
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 .feed import DirectMessage, Feed, Replies, Status
|
||||||
from .follow import follow, unfollow
|
from .follow import follow, unfollow
|
||||||
from .follow import accept_follow_request, delete_follow_request
|
from .follow import accept_follow_request, delete_follow_request
|
||||||
|
|
|
@ -88,12 +88,24 @@ class FederatedServer(View):
|
||||||
return TemplateResponse(request, "settings/federated_server.html", data)
|
return TemplateResponse(request, "settings/federated_server.html", data)
|
||||||
|
|
||||||
def post(self, request, server): # pylint: disable=unused-argument
|
def post(self, request, server): # pylint: disable=unused-argument
|
||||||
""" block a server """
|
""" update note """
|
||||||
server = get_object_or_404(models.FederatedServer, id=server)
|
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)
|
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
|
@login_required
|
||||||
@require_POST
|
@require_POST
|
||||||
@permission_required("bookwyrm.control_federation", raise_exception=True)
|
@permission_required("bookwyrm.control_federation", raise_exception=True)
|
||||||
|
|
Loading…
Reference in New Issue