From aeb4996ac2f50c8c9f298a7e598b3f9ae744b0f1 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Tue, 2 Nov 2021 13:06:58 -0400 Subject: [PATCH] Allow users to create new FHRP group directly from the interface view --- netbox/ipam/views.py | 11 +++++++++++ netbox/templates/ipam/inc/panels/fhrp_groups.html | 13 +++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/netbox/ipam/views.py b/netbox/ipam/views.py index 8746787fe..14849c91f 100644 --- a/netbox/ipam/views.py +++ b/netbox/ipam/views.py @@ -3,6 +3,7 @@ from django.db.models import Prefetch from django.db.models.expressions import RawSQL from django.http import Http404 from django.shortcuts import get_object_or_404, redirect, render +from django.urls import reverse from dcim.models import Device, Interface from netbox.views import generic @@ -867,6 +868,16 @@ class FHRPGroupEditView(generic.ObjectEditView): queryset = FHRPGroup.objects.all() model_form = forms.FHRPGroupForm + def get_return_url(self, request, obj=None): + return_url = super().get_return_url(request, obj) + + # If we're redirecting the user to the FHRPGroupAssignment creation form, + # initialize the group field with the FHRPGroup we just saved. + if return_url.startswith(reverse('ipam:fhrpgroupassignment_add')): + return_url += f'&group={obj.pk}' + + return return_url + class FHRPGroupDeleteView(generic.ObjectDeleteView): queryset = FHRPGroup.objects.all() diff --git a/netbox/templates/ipam/inc/panels/fhrp_groups.html b/netbox/templates/ipam/inc/panels/fhrp_groups.html index b3168b61c..3ed4f1761 100644 --- a/netbox/templates/ipam/inc/panels/fhrp_groups.html +++ b/netbox/templates/ipam/inc/panels/fhrp_groups.html @@ -35,11 +35,16 @@ - {% if perms.ipam.add_fhrpgroupassignment %} -