mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Remove value_field from APISelect; reference to_field_name on field
This commit is contained in:
@ -108,7 +108,6 @@ class ProviderFilterForm(BootstrapMixin, CustomFieldFilterForm):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
filter_for={
|
filter_for={
|
||||||
'site': 'region'
|
'site': 'region'
|
||||||
}
|
}
|
||||||
@ -117,10 +116,7 @@ class ProviderFilterForm(BootstrapMixin, CustomFieldFilterForm):
|
|||||||
site = DynamicModelMultipleChoiceField(
|
site = DynamicModelMultipleChoiceField(
|
||||||
queryset=Site.objects.all(),
|
queryset=Site.objects.all(),
|
||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False
|
||||||
widget=APISelectMultiple(
|
|
||||||
value_field="slug",
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
asn = forms.IntegerField(
|
asn = forms.IntegerField(
|
||||||
required=False,
|
required=False,
|
||||||
@ -271,18 +267,12 @@ class CircuitFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm
|
|||||||
type = DynamicModelMultipleChoiceField(
|
type = DynamicModelMultipleChoiceField(
|
||||||
queryset=CircuitType.objects.all(),
|
queryset=CircuitType.objects.all(),
|
||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False
|
||||||
widget=APISelectMultiple(
|
|
||||||
value_field="slug",
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
provider = DynamicModelMultipleChoiceField(
|
provider = DynamicModelMultipleChoiceField(
|
||||||
queryset=Provider.objects.all(),
|
queryset=Provider.objects.all(),
|
||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False
|
||||||
widget=APISelectMultiple(
|
|
||||||
value_field="slug",
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
status = forms.MultipleChoiceField(
|
status = forms.MultipleChoiceField(
|
||||||
choices=CircuitStatusChoices,
|
choices=CircuitStatusChoices,
|
||||||
@ -294,7 +284,6 @@ class CircuitFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
filter_for={
|
filter_for={
|
||||||
'site': 'region'
|
'site': 'region'
|
||||||
}
|
}
|
||||||
@ -303,10 +292,7 @@ class CircuitFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm
|
|||||||
site = DynamicModelMultipleChoiceField(
|
site = DynamicModelMultipleChoiceField(
|
||||||
queryset=Site.objects.all(),
|
queryset=Site.objects.all(),
|
||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False
|
||||||
widget=APISelectMultiple(
|
|
||||||
value_field="slug",
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
commit_rate = forms.IntegerField(
|
commit_rate = forms.IntegerField(
|
||||||
required=False,
|
required=False,
|
||||||
|
@ -70,7 +70,6 @@ class DeviceComponentFilterForm(BootstrapMixin, forms.Form):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field='slug',
|
|
||||||
filter_for={
|
filter_for={
|
||||||
'site': 'region'
|
'site': 'region'
|
||||||
}
|
}
|
||||||
@ -81,7 +80,6 @@ class DeviceComponentFilterForm(BootstrapMixin, forms.Form):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
filter_for={
|
filter_for={
|
||||||
'device_id': 'site',
|
'device_id': 'site',
|
||||||
}
|
}
|
||||||
@ -348,10 +346,7 @@ class SiteFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm):
|
|||||||
region = DynamicModelMultipleChoiceField(
|
region = DynamicModelMultipleChoiceField(
|
||||||
queryset=Region.objects.all(),
|
queryset=Region.objects.all(),
|
||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False
|
||||||
widget=APISelectMultiple(
|
|
||||||
value_field="slug",
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
@ -409,7 +404,6 @@ class RackGroupFilterForm(BootstrapMixin, forms.Form):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
filter_for={
|
filter_for={
|
||||||
'site': 'region',
|
'site': 'region',
|
||||||
'parent': 'region',
|
'parent': 'region',
|
||||||
@ -421,7 +415,6 @@ class RackGroupFilterForm(BootstrapMixin, forms.Form):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
filter_for={
|
filter_for={
|
||||||
'parent': 'site',
|
'parent': 'site',
|
||||||
}
|
}
|
||||||
@ -430,11 +423,7 @@ class RackGroupFilterForm(BootstrapMixin, forms.Form):
|
|||||||
parent = DynamicModelMultipleChoiceField(
|
parent = DynamicModelMultipleChoiceField(
|
||||||
queryset=RackGroup.objects.all(),
|
queryset=RackGroup.objects.all(),
|
||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False
|
||||||
widget=APISelectMultiple(
|
|
||||||
api_url="/api/dcim/rack-groups/",
|
|
||||||
value_field="slug",
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -662,7 +651,6 @@ class RackFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
filter_for={
|
filter_for={
|
||||||
'site': 'region'
|
'site': 'region'
|
||||||
}
|
}
|
||||||
@ -673,7 +661,6 @@ class RackFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
filter_for={
|
filter_for={
|
||||||
'group_id': 'site'
|
'group_id': 'site'
|
||||||
}
|
}
|
||||||
@ -699,7 +686,6 @@ class RackFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
null_option=True,
|
null_option=True,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -861,10 +847,7 @@ class RackReservationFilterForm(BootstrapMixin, TenancyFilterForm):
|
|||||||
site = DynamicModelMultipleChoiceField(
|
site = DynamicModelMultipleChoiceField(
|
||||||
queryset=Site.objects.all(),
|
queryset=Site.objects.all(),
|
||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False
|
||||||
widget=APISelectMultiple(
|
|
||||||
value_field="slug",
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
group_id = DynamicModelMultipleChoiceField(
|
group_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=RackGroup.objects.prefetch_related('site'),
|
queryset=RackGroup.objects.prefetch_related('site'),
|
||||||
@ -972,10 +955,7 @@ class DeviceTypeFilterForm(BootstrapMixin, CustomFieldFilterForm):
|
|||||||
manufacturer = DynamicModelMultipleChoiceField(
|
manufacturer = DynamicModelMultipleChoiceField(
|
||||||
queryset=Manufacturer.objects.all(),
|
queryset=Manufacturer.objects.all(),
|
||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False
|
||||||
widget=APISelectMultiple(
|
|
||||||
value_field="slug",
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
subdevice_role = forms.MultipleChoiceField(
|
subdevice_role = forms.MultipleChoiceField(
|
||||||
choices=add_blank_choice(SubdeviceRoleChoices),
|
choices=add_blank_choice(SubdeviceRoleChoices),
|
||||||
@ -2116,7 +2096,6 @@ class DeviceFilterForm(BootstrapMixin, LocalConfigContextFilterForm, TenancyFilt
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
filter_for={
|
filter_for={
|
||||||
'site': 'region'
|
'site': 'region'
|
||||||
}
|
}
|
||||||
@ -2127,7 +2106,6 @@ class DeviceFilterForm(BootstrapMixin, LocalConfigContextFilterForm, TenancyFilt
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
filter_for={
|
filter_for={
|
||||||
'rack_group_id': 'site',
|
'rack_group_id': 'site',
|
||||||
'rack_id': 'site',
|
'rack_id': 'site',
|
||||||
@ -2157,7 +2135,6 @@ class DeviceFilterForm(BootstrapMixin, LocalConfigContextFilterForm, TenancyFilt
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
manufacturer_id = DynamicModelMultipleChoiceField(
|
manufacturer_id = DynamicModelMultipleChoiceField(
|
||||||
@ -2181,7 +2158,6 @@ class DeviceFilterForm(BootstrapMixin, LocalConfigContextFilterForm, TenancyFilt
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
null_option=True,
|
null_option=True,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -3446,10 +3422,7 @@ class InventoryItemFilterForm(DeviceComponentFilterForm):
|
|||||||
manufacturer = DynamicModelMultipleChoiceField(
|
manufacturer = DynamicModelMultipleChoiceField(
|
||||||
queryset=Manufacturer.objects.all(),
|
queryset=Manufacturer.objects.all(),
|
||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False
|
||||||
widget=APISelect(
|
|
||||||
value_field="slug",
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
serial = forms.CharField(
|
serial = forms.CharField(
|
||||||
required=False
|
required=False
|
||||||
@ -3900,7 +3873,6 @@ class CableFilterForm(BootstrapMixin, forms.Form):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
filter_for={
|
filter_for={
|
||||||
'rack_id': 'site',
|
'rack_id': 'site',
|
||||||
'device_id': 'site',
|
'device_id': 'site',
|
||||||
@ -3912,7 +3884,6 @@ class CableFilterForm(BootstrapMixin, forms.Form):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field='slug',
|
|
||||||
filter_for={
|
filter_for={
|
||||||
'device_id': 'tenant',
|
'device_id': 'tenant',
|
||||||
}
|
}
|
||||||
@ -3962,7 +3933,6 @@ class ConsoleConnectionFilterForm(BootstrapMixin, forms.Form):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
filter_for={
|
filter_for={
|
||||||
'device_id': 'site',
|
'device_id': 'site',
|
||||||
}
|
}
|
||||||
@ -3981,7 +3951,6 @@ class PowerConnectionFilterForm(BootstrapMixin, forms.Form):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
filter_for={
|
filter_for={
|
||||||
'device_id': 'site',
|
'device_id': 'site',
|
||||||
}
|
}
|
||||||
@ -4000,7 +3969,6 @@ class InterfaceConnectionFilterForm(BootstrapMixin, forms.Form):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
filter_for={
|
filter_for={
|
||||||
'device_id': 'site',
|
'device_id': 'site',
|
||||||
}
|
}
|
||||||
@ -4240,7 +4208,6 @@ class VirtualChassisFilterForm(BootstrapMixin, CustomFieldFilterForm):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
filter_for={
|
filter_for={
|
||||||
'site': 'region'
|
'site': 'region'
|
||||||
}
|
}
|
||||||
@ -4249,17 +4216,13 @@ class VirtualChassisFilterForm(BootstrapMixin, CustomFieldFilterForm):
|
|||||||
site = DynamicModelMultipleChoiceField(
|
site = DynamicModelMultipleChoiceField(
|
||||||
queryset=Site.objects.all(),
|
queryset=Site.objects.all(),
|
||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False
|
||||||
widget=APISelectMultiple(
|
|
||||||
value_field="slug",
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
tenant_group = DynamicModelMultipleChoiceField(
|
tenant_group = DynamicModelMultipleChoiceField(
|
||||||
queryset=TenantGroup.objects.all(),
|
queryset=TenantGroup.objects.all(),
|
||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
null_option=True,
|
null_option=True,
|
||||||
filter_for={
|
filter_for={
|
||||||
'tenant': 'group'
|
'tenant': 'group'
|
||||||
@ -4271,7 +4234,6 @@ class VirtualChassisFilterForm(BootstrapMixin, CustomFieldFilterForm):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
null_option=True,
|
null_option=True,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -4369,7 +4331,6 @@ class PowerPanelFilterForm(BootstrapMixin, CustomFieldFilterForm):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
filter_for={
|
filter_for={
|
||||||
'site': 'region'
|
'site': 'region'
|
||||||
}
|
}
|
||||||
@ -4380,7 +4341,6 @@ class PowerPanelFilterForm(BootstrapMixin, CustomFieldFilterForm):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
filter_for={
|
filter_for={
|
||||||
'rack_group_id': 'site',
|
'rack_group_id': 'site',
|
||||||
}
|
}
|
||||||
@ -4589,7 +4549,6 @@ class PowerFeedFilterForm(BootstrapMixin, CustomFieldFilterForm):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
filter_for={
|
filter_for={
|
||||||
'site': 'region'
|
'site': 'region'
|
||||||
}
|
}
|
||||||
@ -4600,7 +4559,6 @@ class PowerFeedFilterForm(BootstrapMixin, CustomFieldFilterForm):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
filter_for={
|
filter_for={
|
||||||
'power_panel_id': 'site',
|
'power_panel_id': 'site',
|
||||||
'rack_id': 'site',
|
'rack_id': 'site',
|
||||||
|
@ -290,42 +290,27 @@ class ConfigContextFilterForm(BootstrapMixin, forms.Form):
|
|||||||
region = DynamicModelMultipleChoiceField(
|
region = DynamicModelMultipleChoiceField(
|
||||||
queryset=Region.objects.all(),
|
queryset=Region.objects.all(),
|
||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False
|
||||||
widget=APISelectMultiple(
|
|
||||||
value_field="slug",
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
site = DynamicModelMultipleChoiceField(
|
site = DynamicModelMultipleChoiceField(
|
||||||
queryset=Site.objects.all(),
|
queryset=Site.objects.all(),
|
||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False
|
||||||
widget=APISelectMultiple(
|
|
||||||
value_field="slug",
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
role = DynamicModelMultipleChoiceField(
|
role = DynamicModelMultipleChoiceField(
|
||||||
queryset=DeviceRole.objects.all(),
|
queryset=DeviceRole.objects.all(),
|
||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False
|
||||||
widget=APISelectMultiple(
|
|
||||||
value_field="slug",
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
platform = DynamicModelMultipleChoiceField(
|
platform = DynamicModelMultipleChoiceField(
|
||||||
queryset=Platform.objects.all(),
|
queryset=Platform.objects.all(),
|
||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False
|
||||||
widget=APISelectMultiple(
|
|
||||||
value_field="slug",
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
cluster_group = DynamicModelMultipleChoiceField(
|
cluster_group = DynamicModelMultipleChoiceField(
|
||||||
queryset=ClusterGroup.objects.all(),
|
queryset=ClusterGroup.objects.all(),
|
||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False
|
||||||
widget=APISelectMultiple(
|
|
||||||
value_field="slug",
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
cluster_id = DynamicModelMultipleChoiceField(
|
cluster_id = DynamicModelMultipleChoiceField(
|
||||||
queryset=Cluster.objects.all(),
|
queryset=Cluster.objects.all(),
|
||||||
@ -335,26 +320,17 @@ class ConfigContextFilterForm(BootstrapMixin, forms.Form):
|
|||||||
tenant_group = DynamicModelMultipleChoiceField(
|
tenant_group = DynamicModelMultipleChoiceField(
|
||||||
queryset=TenantGroup.objects.all(),
|
queryset=TenantGroup.objects.all(),
|
||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False
|
||||||
widget=APISelectMultiple(
|
|
||||||
value_field="slug",
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
tenant = DynamicModelMultipleChoiceField(
|
tenant = DynamicModelMultipleChoiceField(
|
||||||
queryset=Tenant.objects.all(),
|
queryset=Tenant.objects.all(),
|
||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False
|
||||||
widget=APISelectMultiple(
|
|
||||||
value_field="slug",
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
tag = DynamicModelMultipleChoiceField(
|
tag = DynamicModelMultipleChoiceField(
|
||||||
queryset=Tag.objects.all(),
|
queryset=Tag.objects.all(),
|
||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False
|
||||||
widget=APISelectMultiple(
|
|
||||||
value_field="slug",
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -217,10 +217,7 @@ class AggregateFilterForm(BootstrapMixin, CustomFieldFilterForm):
|
|||||||
queryset=RIR.objects.all(),
|
queryset=RIR.objects.all(),
|
||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
label='RIR',
|
label='RIR'
|
||||||
widget=APISelectMultiple(
|
|
||||||
value_field="slug",
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
@ -481,7 +478,6 @@ class PrefixFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm)
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
filter_for={
|
filter_for={
|
||||||
'site': 'region'
|
'site': 'region'
|
||||||
}
|
}
|
||||||
@ -492,7 +488,6 @@ class PrefixFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm)
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
null_option=True,
|
null_option=True,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -501,7 +496,6 @@ class PrefixFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm)
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
null_option=True,
|
null_option=True,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -978,7 +972,6 @@ class VLANGroupFilterForm(BootstrapMixin, forms.Form):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
filter_for={
|
filter_for={
|
||||||
'site': 'region',
|
'site': 'region',
|
||||||
}
|
}
|
||||||
@ -989,7 +982,6 @@ class VLANGroupFilterForm(BootstrapMixin, forms.Form):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
null_option=True,
|
null_option=True,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -1145,7 +1137,6 @@ class VLANFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
filter_for={
|
filter_for={
|
||||||
'site': 'region',
|
'site': 'region',
|
||||||
'group_id': 'region'
|
'group_id': 'region'
|
||||||
@ -1157,7 +1148,6 @@ class VLANFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
null_option=True,
|
null_option=True,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -1179,7 +1169,6 @@ class VLANFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
null_option=True,
|
null_option=True,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
@ -178,10 +178,7 @@ class SecretFilterForm(BootstrapMixin, CustomFieldFilterForm):
|
|||||||
role = DynamicModelMultipleChoiceField(
|
role = DynamicModelMultipleChoiceField(
|
||||||
queryset=SecretRole.objects.all(),
|
queryset=SecretRole.objects.all(),
|
||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False
|
||||||
widget=APISelectMultiple(
|
|
||||||
value_field="slug",
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
|
|
||||||
|
@ -107,7 +107,6 @@ class TenantFilterForm(BootstrapMixin, CustomFieldFilterForm):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
null_option=True,
|
null_option=True,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -154,7 +153,6 @@ class TenancyFilterForm(forms.Form):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
null_option=True,
|
null_option=True,
|
||||||
filter_for={
|
filter_for={
|
||||||
'tenant': 'group'
|
'tenant': 'group'
|
||||||
@ -166,7 +164,6 @@ class TenancyFilterForm(forms.Form):
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
null_option=True,
|
null_option=True,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
@ -251,12 +251,19 @@ class DynamicModelChoiceMixin:
|
|||||||
def __init__(self, *args, display_field='name', **kwargs):
|
def __init__(self, *args, display_field='name', **kwargs):
|
||||||
self.display_field = display_field
|
self.display_field = display_field
|
||||||
|
|
||||||
|
# to_field_name is set by ModelChoiceField.__init__(), but we need to set it early for reference
|
||||||
|
# by widget_attrs()
|
||||||
|
self.to_field_name = kwargs.get('to_field_name')
|
||||||
|
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
|
|
||||||
def widget_attrs(self, widget):
|
def widget_attrs(self, widget):
|
||||||
return {
|
attrs = {
|
||||||
'display-field': self.display_field
|
'display-field': self.display_field,
|
||||||
}
|
}
|
||||||
|
if self.to_field_name:
|
||||||
|
attrs['value-field'] = self.to_field_name
|
||||||
|
return attrs
|
||||||
|
|
||||||
def get_bound_field(self, form, field_name):
|
def get_bound_field(self, form, field_name):
|
||||||
bound_field = BoundField(form, self, field_name)
|
bound_field = BoundField(form, self, field_name)
|
||||||
|
@ -141,7 +141,6 @@ class APISelect(SelectWithDisabled):
|
|||||||
|
|
||||||
:param api_url: API endpoint URL. Required if not set automatically by the parent field.
|
:param api_url: API endpoint URL. Required if not set automatically by the parent field.
|
||||||
:param display_field: (Optional) Field to display for child in selection list. Defaults to `name`.
|
:param display_field: (Optional) Field to display for child in selection list. Defaults to `name`.
|
||||||
:param value_field: (Optional) Field to use for the option value in selection list. Defaults to `id`.
|
|
||||||
:param disabled_indicator: (Optional) Mark option as disabled if this field equates true.
|
:param disabled_indicator: (Optional) Mark option as disabled if this field equates true.
|
||||||
:param filter_for: (Optional) A dict of chained form fields for which this field is a filter. The key is the
|
:param filter_for: (Optional) A dict of chained form fields for which this field is a filter. The key is the
|
||||||
name of the filter-for field (child field) and the value is the name of the query param filter.
|
name of the filter-for field (child field) and the value is the name of the query param filter.
|
||||||
@ -153,7 +152,6 @@ class APISelect(SelectWithDisabled):
|
|||||||
self,
|
self,
|
||||||
api_url=None,
|
api_url=None,
|
||||||
display_field=None,
|
display_field=None,
|
||||||
value_field=None,
|
|
||||||
disabled_indicator=None,
|
disabled_indicator=None,
|
||||||
filter_for=None,
|
filter_for=None,
|
||||||
additional_query_params=None,
|
additional_query_params=None,
|
||||||
@ -172,8 +170,6 @@ class APISelect(SelectWithDisabled):
|
|||||||
self.attrs['data-full'] = full
|
self.attrs['data-full'] = full
|
||||||
if display_field:
|
if display_field:
|
||||||
self.attrs['display-field'] = display_field
|
self.attrs['display-field'] = display_field
|
||||||
if value_field:
|
|
||||||
self.attrs['value-field'] = value_field
|
|
||||||
if disabled_indicator:
|
if disabled_indicator:
|
||||||
self.attrs['disabled-indicator'] = disabled_indicator
|
self.attrs['disabled-indicator'] = disabled_indicator
|
||||||
if filter_for:
|
if filter_for:
|
||||||
|
@ -166,17 +166,13 @@ class ClusterFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm
|
|||||||
type = DynamicModelMultipleChoiceField(
|
type = DynamicModelMultipleChoiceField(
|
||||||
queryset=ClusterType.objects.all(),
|
queryset=ClusterType.objects.all(),
|
||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False
|
||||||
widget=APISelectMultiple(
|
|
||||||
value_field='slug',
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
region = DynamicModelMultipleChoiceField(
|
region = DynamicModelMultipleChoiceField(
|
||||||
queryset=Region.objects.all(),
|
queryset=Region.objects.all(),
|
||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
filter_for={
|
filter_for={
|
||||||
'site': 'region'
|
'site': 'region'
|
||||||
}
|
}
|
||||||
@ -187,7 +183,6 @@ class ClusterFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field='slug',
|
|
||||||
null_option=True,
|
null_option=True,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -196,7 +191,6 @@ class ClusterFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFilterForm
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field='slug',
|
|
||||||
null_option=True,
|
null_option=True,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -496,7 +490,6 @@ class VirtualMachineFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFil
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
null_option=True,
|
null_option=True,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -505,7 +498,6 @@ class VirtualMachineFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFil
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
null_option=True,
|
null_option=True,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -519,7 +511,6 @@ class VirtualMachineFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFil
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
filter_for={
|
filter_for={
|
||||||
'site': 'region'
|
'site': 'region'
|
||||||
}
|
}
|
||||||
@ -530,7 +521,6 @@ class VirtualMachineFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFil
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
null_option=True,
|
null_option=True,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -539,7 +529,6 @@ class VirtualMachineFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFil
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
null_option=True,
|
null_option=True,
|
||||||
additional_query_params={
|
additional_query_params={
|
||||||
'vm_role': "True"
|
'vm_role': "True"
|
||||||
@ -556,7 +545,6 @@ class VirtualMachineFilterForm(BootstrapMixin, TenancyFilterForm, CustomFieldFil
|
|||||||
to_field_name='slug',
|
to_field_name='slug',
|
||||||
required=False,
|
required=False,
|
||||||
widget=APISelectMultiple(
|
widget=APISelectMultiple(
|
||||||
value_field="slug",
|
|
||||||
null_option=True,
|
null_option=True,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
Reference in New Issue
Block a user