Skip to content

Commit f2c4906

Browse files
committed
Fixes #3809: Filter platform by manufacturer when editing devices
1 parent ea2351e commit f2c4906

File tree

3 files changed

+16
-3
lines changed

3 files changed

+16
-3
lines changed

docs/release-notes/version-2.6.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
* [#3695](https://github.com/netbox-community/netbox/issues/3695) - Include A/Z termination sites for circuits in global search
1212
* [#3712](https://github.com/netbox-community/netbox/issues/3712) - Scrolling to target (hash) did not account for the header size
1313
* [#3780](https://github.com/netbox-community/netbox/issues/3780) - Fix AttributeError exception in API docs
14+
* [#3809](https://github.com/netbox-community/netbox/issues/3809) - Filter platform by manufacturer when editing devices
1415

1516
---
1617

netbox/dcim/forms.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1339,7 +1339,8 @@ class DeviceForm(BootstrapMixin, TenancyForm, CustomFieldForm):
13391339
widget=APISelect(
13401340
api_url="/api/dcim/manufacturers/",
13411341
filter_for={
1342-
'device_type': 'manufacturer_id'
1342+
'device_type': 'manufacturer_id',
1343+
'platform': 'manufacturer_id'
13431344
}
13441345
)
13451346
)
@@ -1408,7 +1409,10 @@ class Meta:
14081409
),
14091410
'status': StaticSelect2(),
14101411
'platform': APISelect(
1411-
api_url="/api/dcim/platforms/"
1412+
api_url="/api/dcim/platforms/",
1413+
additional_query_params={
1414+
"manufacturer_id": "null"
1415+
}
14121416
),
14131417
'primary_ip4': StaticSelect2(),
14141418
'primary_ip6': StaticSelect2(),

netbox/project-static/js/forms.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,15 @@ $(document).ready(function() {
184184
$.each(element.attributes, function(index, attr){
185185
if (attr.name.includes("data-additional-query-param-")){
186186
var param_name = attr.name.split("data-additional-query-param-")[1];
187-
parameters[param_name] = attr.value;
187+
if (param_name in parameters) {
188+
if (Array.isArray(parameters[param_name])) {
189+
parameters[param_name].push(attr.value)
190+
} else {
191+
parameters[param_name] = [parameters[param_name], attr.value]
192+
}
193+
} else {
194+
parameters[param_name] = attr.value;
195+
}
188196
}
189197
});
190198

0 commit comments

Comments
 (0)