From 316e6cb17f18c0b9941dc75fcf7ffcf25aded4d1 Mon Sep 17 00:00:00 2001 From: Jens Langhammer Date: Fri, 18 Sep 2020 21:51:08 +0200 Subject: [PATCH] admin: set default host for outposts based on HTTP host --- passbook/admin/views/outposts.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/passbook/admin/views/outposts.py b/passbook/admin/views/outposts.py index 87c1721f9c..2bedd708b3 100644 --- a/passbook/admin/views/outposts.py +++ b/passbook/admin/views/outposts.py @@ -1,4 +1,7 @@ """passbook Outpost administration""" +from dataclasses import asdict +from typing import Any, Dict + from django.contrib.auth.mixins import LoginRequiredMixin from django.contrib.auth.mixins import ( PermissionRequiredMixin as DjangoPermissionRequiredMixin, @@ -12,7 +15,7 @@ from guardian.mixins import PermissionListMixin, PermissionRequiredMixin from passbook.admin.views.utils import DeleteMessageView from passbook.lib.views import CreateAssignPermView from passbook.outposts.forms import OutpostForm -from passbook.outposts.models import Outpost +from passbook.outposts.models import Outpost, OutpostConfig class OutpostListView(LoginRequiredMixin, PermissionListMixin, ListView): @@ -41,6 +44,13 @@ class OutpostCreateView( success_url = reverse_lazy("passbook_admin:outposts") success_message = _("Successfully created Outpost") + def get_initial(self) -> Dict[str, Any]: + return { + "_config": asdict( + OutpostConfig(passbook_host=self.request.build_absolute_uri("/")) + ) + } + class OutpostUpdateView( SuccessMessageMixin, LoginRequiredMixin, PermissionRequiredMixin, UpdateView