diff --git a/bookwyrm/templates/settings/edit_server.html b/bookwyrm/templates/settings/edit_server.html index 6510222d8..dc0de7e8c 100644 --- a/bookwyrm/templates/settings/edit_server.html +++ b/bookwyrm/templates/settings/edit_server.html @@ -3,14 +3,56 @@ {% block title %}{% trans "Add server" %}{% endblock %} {% block header %} -{% if form.server_name.value %}{{ form.server_name.value }}{% else %}{% trans "Add server" %}{% endif %} +{% if server %}{{ server.server_name }}{% else %}{% trans "Add server" %}{% endif %} {% trans "Back to server list" %} {% endblock %} {% block panel %} -
- {% include 'settings/server_form.html' %} + + {% csrf_token %} +
+
+
+ + + {% for error in form.server_name.errors %} +

{{ error | escape }}

+ {% endfor %} +
+
+ +
+ +
+
+
+
+
+ + + {% for error in form.application_type.errors %} +

{{ error | escape }}

+ {% endfor %} +
+
+ + + {% for error in form.application_version.errors %} +

{{ error | escape }}

+ {% endfor %} +
+
+
+

+ + +

+ +
{% endblock %} diff --git a/bookwyrm/templates/settings/federated_server.html b/bookwyrm/templates/settings/federated_server.html index 147d6514e..5b41ea797 100644 --- a/bookwyrm/templates/settings/federated_server.html +++ b/bookwyrm/templates/settings/federated_server.html @@ -11,6 +11,14 @@ {% trans "Back to server list" %} {% endblock %} +{% block edit-button %} + + + {% trans "Edit server" %} + + +{% endblock %} + {% block panel %}

{% trans "Details" %}

diff --git a/bookwyrm/templates/settings/server_form.html b/bookwyrm/templates/settings/server_form.html deleted file mode 100644 index b86c3d039..000000000 --- a/bookwyrm/templates/settings/server_form.html +++ /dev/null @@ -1,47 +0,0 @@ -{% load i18n %} - -{% csrf_token %} -
-
-
- - - {% for error in form.server_name.errors %} -

{{ error | escape }}

- {% endfor %} -
-
- -
- -
-
-
-
-
- - - {% for error in form.application_type.errors %} -

{{ error | escape }}

- {% endfor %} -
-
- - - {% for error in form.application_version.errors %} -

{{ error | escape }}

- {% endfor %} -
-
-
-

- - -

- - diff --git a/bookwyrm/urls.py b/bookwyrm/urls.py index 35856a4d9..4cf6fd526 100644 --- a/bookwyrm/urls.py +++ b/bookwyrm/urls.py @@ -73,6 +73,11 @@ urlpatterns = [ views.EditFederatedServer.as_view(), name="settings-edit-federated-server", ), + re_path( + r"^settings/federation/edit/(?P\d+)?$", + views.EditFederatedServer.as_view(), + name="settings-edit-federated-server", + ), re_path( r"^settings/invites/?$", views.ManageInvites.as_view(), name="settings-invites" ), diff --git a/bookwyrm/views/federation.py b/bookwyrm/views/federation.py index bb33c5af3..09f5040d9 100644 --- a/bookwyrm/views/federation.py +++ b/bookwyrm/views/federation.py @@ -44,16 +44,21 @@ class Federation(View): class EditFederatedServer(View): """ manually add a server """ - def get(self, request): + def get(self, request, server=None): """ add server form """ - data = {"form": forms.ServerForm()} + if server: + server = get_object_or_404(models.FederatedServer, id=server) + data = {"form": forms.ServerForm(instance=server), "server": server} return TemplateResponse(request, "settings/edit_server.html", data) - def post(self, request): + def post(self, request, server=None): """ add a server from the admin panel """ - form = forms.ServerForm(request.POST) + if server: + server = get_object_or_404(models.FederatedServer, id=server) + + form = forms.ServerForm(request.POST, instance=server) if not form.is_valid(): - data = {"form": form} + data = {"form": form, "server": server} return TemplateResponse(request, "settings/edit_server.html", data) server = form.save() return redirect("settings-federated-server", server.id)