diff --git a/netbox/ipam/api/serializers_/vlans.py b/netbox/ipam/api/serializers_/vlans.py index 3376a2e4a..faec14559 100644 --- a/netbox/ipam/api/serializers_/vlans.py +++ b/netbox/ipam/api/serializers_/vlans.py @@ -126,5 +126,5 @@ class VLANTranslationPolicySerializer(NetBoxModelSerializer): class Meta: model = VLANTranslationPolicy - fields = ('id', 'name', 'description', 'rules') - brief_fields = ('id', 'rules') + fields = ('id', 'url', 'name', 'description', 'display', 'rules') + brief_fields = ('id', 'url', 'name', 'description', 'display') diff --git a/netbox/ipam/api/views.py b/netbox/ipam/api/views.py index a77477989..783d13523 100644 --- a/netbox/ipam/api/views.py +++ b/netbox/ipam/api/views.py @@ -144,7 +144,7 @@ class VLANViewSet(NetBoxModelViewSet): class VLANTranslationPolicyViewSet(NetBoxModelViewSet): - queryset = VLANTranslationPolicy.objects.prefetch_related('rules') + queryset = VLANTranslationPolicy.objects.all() serializer_class = serializers.VLANTranslationPolicySerializer filterset_class = filtersets.VLANTranslationPolicyFilterSet diff --git a/netbox/ipam/forms/model_forms.py b/netbox/ipam/forms/model_forms.py index 1096762d4..50f49cdb6 100644 --- a/netbox/ipam/forms/model_forms.py +++ b/netbox/ipam/forms/model_forms.py @@ -707,6 +707,13 @@ class VLANTranslationPolicyForm(NetBoxModelForm): class VLANTranslationRuleForm(NetBoxModelForm): + policy = DynamicModelChoiceField( + label=_('Policy'), + queryset=VLANTranslationPolicy.objects.all(), + required=False, + null_option='None', + selector=True + ) fieldsets = ( FieldSet('policy', 'local_vid', 'remote_vid', name=_('VLAN Translation Rule')), diff --git a/netbox/ipam/views.py b/netbox/ipam/views.py index 201f441de..d3c980970 100644 --- a/netbox/ipam/views.py +++ b/netbox/ipam/views.py @@ -1037,7 +1037,7 @@ class VLANTranslationPolicyBulkDeleteView(generic.BulkDeleteView): # -# VLAN Translation Policies +# VLAN Translation Rules # class VLANTranslationRuleListView(generic.ObjectListView):