From 897d4d6f676656121f31ec7147a96070a4fc96e8 Mon Sep 17 00:00:00 2001 From: Rhys Barrie Date: Thu, 2 Dec 2021 12:11:04 -0500 Subject: [PATCH] netbox-community/netbox#6905: Transform initial data for vlan prefix assign form --- netbox/ipam/views.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/netbox/ipam/views.py b/netbox/ipam/views.py index 7a252e9d1..f41348708 100644 --- a/netbox/ipam/views.py +++ b/netbox/ipam/views.py @@ -6,7 +6,7 @@ from dcim.models import Device, Interface from netbox.views import generic from utilities.forms import TableConfigForm from utilities.tables import paginate_table -from utilities.utils import count_related +from utilities.utils import count_related, normalize_querydict from virtualization.models import VirtualMachine, VMInterface from . import filtersets, forms, tables from .constants import * @@ -503,6 +503,7 @@ class PrefixAssignView(generic.ObjectView): Search for Prefixes to assign to a VLAN """ queryset = Prefix.objects.all() + template_name = 'ipam/prefix_assign.html' def dispatch(self, request, *args, **kwargs): @@ -513,9 +514,15 @@ class PrefixAssignView(generic.ObjectView): return super().dispatch(request, *args, **kwargs) def get(self, request): - form = forms.PrefixAssignForm() + url_params = normalize_querydict(request.GET) + initial_data = {} + if 'site' in url_params: + initial_data['site_id'] = url_params['site'] + if 'tenant' in url_params: + initial_data['tenant_id'] = url_params['tenant'] + form = forms.PrefixAssignForm(initial=initial_data) - return render(request, 'ipam/prefix_assign.html', { + return render(request, self.template_name, { 'form': form, 'return_url': request.GET.get('return_url', ''), })