|
@@ -31,6 +31,14 @@ IPADDRESS_MASK_LENGTH_CHOICES = add_blank_choice([
|
|
|
#
|
|
#
|
|
|
|
|
|
|
|
class VRFForm(BootstrapMixin, TenancyForm, CustomFieldModelForm):
|
|
class VRFForm(BootstrapMixin, TenancyForm, CustomFieldModelForm):
|
|
|
|
|
+ import_targets = DynamicModelMultipleChoiceField(
|
|
|
|
|
+ queryset=RouteTarget.objects.all(),
|
|
|
|
|
+ required=False
|
|
|
|
|
+ )
|
|
|
|
|
+ export_targets = DynamicModelMultipleChoiceField(
|
|
|
|
|
+ queryset=RouteTarget.objects.all(),
|
|
|
|
|
+ required=False
|
|
|
|
|
+ )
|
|
|
tags = DynamicModelMultipleChoiceField(
|
|
tags = DynamicModelMultipleChoiceField(
|
|
|
queryset=Tag.objects.all(),
|
|
queryset=Tag.objects.all(),
|
|
|
required=False
|
|
required=False
|
|
@@ -39,7 +47,8 @@ class VRFForm(BootstrapMixin, TenancyForm, CustomFieldModelForm):
|
|
|
class Meta:
|
|
class Meta:
|
|
|
model = VRF
|
|
model = VRF
|
|
|
fields = [
|
|
fields = [
|
|
|
- 'name', 'rd', 'enforce_unique', 'description', 'tenant_group', 'tenant', 'tags',
|
|
|
|
|
|
|
+ 'name', 'rd', 'enforce_unique', 'description', 'import_targets', 'export_targets', 'tenant_group', 'tenant',
|
|
|
|
|
+ 'tags',
|
|
|
]
|
|
]
|
|
|
labels = {
|
|
labels = {
|
|
|
'rd': "RD",
|
|
'rd': "RD",
|
|
@@ -89,11 +98,21 @@ class VRFBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldBulkEditForm
|
|
|
|
|
|
|
|
class VRFFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm):
|
|
class VRFFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm):
|
|
|
model = VRF
|
|
model = VRF
|
|
|
- field_order = ['q', 'tenant_group', 'tenant']
|
|
|
|
|
|
|
+ field_order = ['q', 'import_target', 'export_target', 'tenant_group', 'tenant']
|
|
|
q = forms.CharField(
|
|
q = forms.CharField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Search'
|
|
label='Search'
|
|
|
)
|
|
)
|
|
|
|
|
+ import_target = DynamicModelMultipleChoiceField(
|
|
|
|
|
+ queryset=RouteTarget.objects.all(),
|
|
|
|
|
+ to_field_name='name',
|
|
|
|
|
+ required=False
|
|
|
|
|
+ )
|
|
|
|
|
+ export_target = DynamicModelMultipleChoiceField(
|
|
|
|
|
+ queryset=RouteTarget.objects.all(),
|
|
|
|
|
+ to_field_name='name',
|
|
|
|
|
+ required=False
|
|
|
|
|
+ )
|
|
|
tag = TagFilterField(model)
|
|
tag = TagFilterField(model)
|
|
|
|
|
|
|
|
|
|
|
|
@@ -149,11 +168,21 @@ class RouteTargetBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldBulk
|
|
|
|
|
|
|
|
class RouteTargetFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm):
|
|
class RouteTargetFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm):
|
|
|
model = RouteTarget
|
|
model = RouteTarget
|
|
|
- field_order = ['q', 'name', 'tenant_group', 'tenant']
|
|
|
|
|
|
|
+ field_order = ['q', 'name', 'tenant_group', 'tenant', 'importing_vrfs', 'exporting_vrfs']
|
|
|
q = forms.CharField(
|
|
q = forms.CharField(
|
|
|
required=False,
|
|
required=False,
|
|
|
label='Search'
|
|
label='Search'
|
|
|
)
|
|
)
|
|
|
|
|
+ importing_vrf_id = DynamicModelMultipleChoiceField(
|
|
|
|
|
+ queryset=VRF.objects.all(),
|
|
|
|
|
+ required=False,
|
|
|
|
|
+ label='Imported by VRF'
|
|
|
|
|
+ )
|
|
|
|
|
+ exporting_vrf_id = DynamicModelMultipleChoiceField(
|
|
|
|
|
+ queryset=VRF.objects.all(),
|
|
|
|
|
+ required=False,
|
|
|
|
|
+ label='Exported by VRF'
|
|
|
|
|
+ )
|
|
|
tag = TagFilterField(model)
|
|
tag = TagFilterField(model)
|
|
|
|
|
|
|
|
|
|
|