1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Closes #8197: Allow filtering sites by group when connecting a cable

This commit is contained in:
jeremystretch
2022-01-03 10:41:43 -05:00
parent 7b25d0379f
commit ecb9fc65b7
3 changed files with 25 additions and 14 deletions

View File

@ -6,6 +6,7 @@
* [#8192](https://github.com/netbox-community/netbox/issues/8192) - Add "add prefix" button to aggregate child prefixes view * [#8192](https://github.com/netbox-community/netbox/issues/8192) - Add "add prefix" button to aggregate child prefixes view
* [#8194](https://github.com/netbox-community/netbox/issues/8194) - Enable bulk user assignment to groups under admin UI * [#8194](https://github.com/netbox-community/netbox/issues/8194) - Enable bulk user assignment to groups under admin UI
* [#8197](https://github.com/netbox-community/netbox/issues/8197) - Allow filtering sites by group when connecting a cable
* [#8210](https://github.com/netbox-community/netbox/issues/8210) - Establish `netbox/local/` as a path for local resources * [#8210](https://github.com/netbox-community/netbox/issues/8210) - Establish `netbox/local/` as a path for local resources
### Bug Fixes ### Bug Fixes

View File

@ -27,7 +27,7 @@ class ConnectCableToDeviceForm(TenancyForm, CustomFieldModelForm):
label='Region', label='Region',
required=False required=False
) )
termination_b_site_group = DynamicModelChoiceField( termination_b_sitegroup = DynamicModelChoiceField(
queryset=SiteGroup.objects.all(), queryset=SiteGroup.objects.all(),
label='Site group', label='Site group',
required=False required=False
@ -38,7 +38,7 @@ class ConnectCableToDeviceForm(TenancyForm, CustomFieldModelForm):
required=False, required=False,
query_params={ query_params={
'region_id': '$termination_b_region', 'region_id': '$termination_b_region',
'group_id': '$termination_b_site_group', 'group_id': '$termination_b_sitegroup',
} }
) )
termination_b_location = DynamicModelChoiceField( termination_b_location = DynamicModelChoiceField(
@ -78,9 +78,9 @@ class ConnectCableToDeviceForm(TenancyForm, CustomFieldModelForm):
class Meta: class Meta:
model = Cable model = Cable
fields = [ fields = [
'termination_b_region', 'termination_b_site', 'termination_b_rack', 'termination_b_device', 'termination_b_region', 'termination_b_sitegroup', 'termination_b_site', 'termination_b_rack',
'termination_b_id', 'type', 'status', 'tenant_group', 'tenant', 'label', 'color', 'length', 'length_unit', 'termination_b_device', 'termination_b_id', 'type', 'status', 'tenant_group', 'tenant', 'label', 'color',
'tags', 'length', 'length_unit', 'tags',
] ]
widgets = { widgets = {
'status': StaticSelect, 'status': StaticSelect,
@ -182,7 +182,7 @@ class ConnectCableToCircuitTerminationForm(TenancyForm, CustomFieldModelForm):
label='Region', label='Region',
required=False required=False
) )
termination_b_site_group = DynamicModelChoiceField( termination_b_sitegroup = DynamicModelChoiceField(
queryset=SiteGroup.objects.all(), queryset=SiteGroup.objects.all(),
label='Site group', label='Site group',
required=False required=False
@ -193,7 +193,7 @@ class ConnectCableToCircuitTerminationForm(TenancyForm, CustomFieldModelForm):
required=False, required=False,
query_params={ query_params={
'region_id': '$termination_b_region', 'region_id': '$termination_b_region',
'group_id': '$termination_b_site_group', 'group_id': '$termination_b_sitegroup',
} }
) )
termination_b_circuit = DynamicModelChoiceField( termination_b_circuit = DynamicModelChoiceField(
@ -219,9 +219,9 @@ class ConnectCableToCircuitTerminationForm(TenancyForm, CustomFieldModelForm):
class Meta(ConnectCableToDeviceForm.Meta): class Meta(ConnectCableToDeviceForm.Meta):
fields = [ fields = [
'termination_b_provider', 'termination_b_region', 'termination_b_site', 'termination_b_circuit', 'termination_b_provider', 'termination_b_region', 'termination_b_sitegroup', 'termination_b_site',
'termination_b_id', 'type', 'status', 'tenant_group', 'tenant', 'label', 'color', 'length', 'length_unit', 'termination_b_circuit', 'termination_b_id', 'type', 'status', 'tenant_group', 'tenant', 'label', 'color',
'tags', 'length', 'length_unit', 'tags',
] ]
def clean_termination_b_id(self): def clean_termination_b_id(self):
@ -235,7 +235,7 @@ class ConnectCableToPowerFeedForm(TenancyForm, CustomFieldModelForm):
label='Region', label='Region',
required=False required=False
) )
termination_b_site_group = DynamicModelChoiceField( termination_b_sitegroup = DynamicModelChoiceField(
queryset=SiteGroup.objects.all(), queryset=SiteGroup.objects.all(),
label='Site group', label='Site group',
required=False required=False
@ -246,7 +246,7 @@ class ConnectCableToPowerFeedForm(TenancyForm, CustomFieldModelForm):
required=False, required=False,
query_params={ query_params={
'region_id': '$termination_b_region', 'region_id': '$termination_b_region',
'group_id': '$termination_b_site_group', 'group_id': '$termination_b_sitegroup',
} }
) )
termination_b_location = DynamicModelChoiceField( termination_b_location = DynamicModelChoiceField(
@ -281,8 +281,9 @@ class ConnectCableToPowerFeedForm(TenancyForm, CustomFieldModelForm):
class Meta(ConnectCableToDeviceForm.Meta): class Meta(ConnectCableToDeviceForm.Meta):
fields = [ fields = [
'termination_b_location', 'termination_b_powerpanel', 'termination_b_id', 'type', 'status', 'tenant_group', 'termination_b_region', 'termination_b_sitegroup', 'termination_b_site', 'termination_b_location',
'tenant', 'label', 'color', 'length', 'length_unit', 'tags', 'termination_b_powerpanel', 'termination_b_id', 'type', 'status', 'tenant_group', 'tenant', 'label',
'color', 'length', 'length_unit', 'tags',
] ]
def clean_termination_b_id(self): def clean_termination_b_id(self):

View File

@ -35,6 +35,12 @@
<input class="form-control" value="{{ termination_a.device.site.region }}" disabled /> <input class="form-control" value="{{ termination_a.device.site.region }}" disabled />
</div> </div>
</div> </div>
<div class="row mb-3">
<label class="col-sm-3 col-form-label text-lg-end">Site Group</label>
<div class="col">
<input class="form-control" value="{{ termination_a.device.site.group }}" disabled />
</div>
</div>
<div class="row mb-3"> <div class="row mb-3">
<label class="col-sm-3 col-form-label text-lg-end">Site</label> <label class="col-sm-3 col-form-label text-lg-end">Site</label>
<div class="col"> <div class="col">
@ -123,6 +129,9 @@
{% if 'termination_b_region' in form.fields %} {% if 'termination_b_region' in form.fields %}
{% render_field form.termination_b_region %} {% render_field form.termination_b_region %}
{% endif %} {% endif %}
{% if 'termination_b_sitegroup' in form.fields %}
{% render_field form.termination_b_sitegroup %}
{% endif %}
{% if 'termination_b_site' in form.fields %} {% if 'termination_b_site' in form.fields %}
{% render_field form.termination_b_site %} {% render_field form.termination_b_site %}
{% endif %} {% endif %}