mirror of
https://github.com/netbox-community/netbox.git
synced 2026-04-06 00:32:08 +02:00
Implement {module} position inheritance for nested module bays #80
Closed
opened 2026-04-05 16:21:31 +02:00 by MrUnknownDE
·
0 comments
No Branch/Tag Specified
main
21455-sql-indexes-audit
21357-register-model-actions
feature
20924-plugin-ui-components
21766-improve-test-coverage-for-sortable-table-columns
21157-export-template-public-models
21025-pre-render-config-contexts
21364-swagger
feature-ip-prefix-link
20911-dropdown-3
fix_module_substitution
21160-filterset
20911-dropdown-2
20044-elevation-stuck-lightmode
7604-filter-modifiers-v3
20660-script-load
19724-graphql
14884-script
19720-macaddress-interface-generic-relation
fix-19669-api-image-download
7604-filter-modifiers
19275-fixes-interface-bulk-edit
fix-17794-get_field_value_return_list
11507-show-aggregate-and-rir-on-api
9583-add_column_specific_search_field_to_tables
v4.5.7
v4.5.6
v4.5.5
v4.5.4
v4.5.3
v4.5.2
v4.5.1
v4.5.0
v4.4.10
v4.4.9
v4.5.0-beta1
v4.4.8
v4.4.7
v4.4.6
v4.4.5
v4.4.4
v4.4.3
v4.4.2
v4.4.1
v4.4.0
v4.3.7
v4.4.0-beta1
v4.3.6
v4.3.5
v4.3.4
v4.3.3
v4.3.2
v4.3.1
v4.3.0
v4.2.9
v4.3.0-beta2
v4.2.8
v4.3.0-beta1
v4.2.7
v4.2.6
v4.2.5
v4.2.4
v4.2.3
v4.2.2
v4.2.1
v4.2.0
v4.1.11
v4.1.10
v4.1.9
v4.1.8
v4.2-beta1
v4.1.7
v4.1.6
v4.1.5
v4.1.4
v4.1.3
v4.1.2
v4.1.1
v4.1.0
v4.0.11
v4.0.10
v4.0.9
v4.1-beta1
v4.0.8
v4.0.7
v4.0.6
v4.0.5
v4.0.3
v4.0.2
v4.0.1
v4.0.0
v3.7.8
v3.7.7
v4.0-beta2
v3.7.6
v3.7.5
v4.0-beta1
v3.7.4
v3.7.3
v3.7.2
v3.7.1
v3.7.0
v3.6.9
v3.6.8
v3.6.7
v3.7-beta1
v3.6.6
v3.6.5
v3.6.4
v3.6.3
v3.6.2
v3.6.1
v3.6.0
v3.5.9
v3.6-beta2
v3.5.8
v3.6-beta1
v3.5.7
v3.5.6
v3.5.5
v3.5.4
v3.5.3
v3.5.2
v3.5.1
v3.5.0
v3.4.10
v3.4.9
v3.5-beta2
v3.4.8
v3.5-beta1
v3.4.7
v3.4.6
v3.4.5
v3.4.4
v3.4.3
v3.4.2
v3.4.1
v3.4.0
v3.3.10
v3.3.9
v3.4-beta1
v3.3.8
v3.3.7
v3.3.6
v3.3.5
v3.3.4
v3.3.3
v3.3.2
v3.3.1
v3.3.0
v3.2.9
v3.2.8
v3.3-beta2
v3.2.7
v3.3-beta1
v3.2.6
v3.2.5
v3.2.4
v3.2.3
v3.2.2
v3.2.1
v3.2.0
v3.1.11
v3.1.10
v3.2-beta2
v3.1.9
v3.2-beta1
v3.1.8
v3.1.7
v3.1.6
v3.1.5
v3.1.4
v3.1.3
v3.1.2
v3.1.1
v3.1.0
v3.0.12
v3.0.11
v3.0.10
v3.1-beta1
v3.0.9
v3.0.8
v3.0.7
v3.0.6
v3.0.5
v3.0.4
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v2.11.12
v3.0-beta2
v2.11.11
v2.11.10
v3.0-beta1
v2.11.9
v2.11.8
v2.11.7
v2.11.6
v2.11.5
v2.11.4
v2.11.3
v2.11.2
v2.11.1
v2.11.0
v2.10.10
v2.10.9
v2.11-beta1
v2.10.8
v2.10.7
v2.10.6
v2.10.5
v2.10.4
v2.10.3
v2.10.2
v2.10.1
v2.10.0
v2.9.11
v2.10-beta2
v2.9.10
v2.10-beta1
v2.9.9
v2.9.8
v2.9.7
v2.9.6
v2.9.5
v2.9.4
v2.9.3
v2.9.2
v2.9.1
v2.9.0
v2.9-beta2
v2.8.9
v2.9-beta1
v2.8.8
v2.8.7
v2.8.6
v2.8.5
v2.8.4
v2.8.3
v2.8.2
v2.8.1
v2.8.0
v2.7.12
v2.7.11
v2.7.10
v2.7.9
v2.7.8
v2.7.7
v2.7.6
v2.7.5
v2.7.4
v2.7.3
v2.7.2
v2.7.1
v2.7.0
v2.6.12
v2.6.11
v2.6.10
v2.6.9
v2.7-beta1
Solcon-2020-01-06
v2.6.8
v2.6.7
v2.6.6
v2.6.5
v2.6.4
v2.6.3
v2.6.2
v2.6.1
v2.6.0
v2.5.13
v2.5.12
v2.6-beta1
v2.5.11
v2.5.10
v2.5.9
v2.5.8
v2.5.7
v2.5.6
v2.5.5
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.9
v2.5-beta2
v2.4.8
v2.5-beta1
v2.4.7
v2.4.6
v2.4.5
v2.4.4
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.7
v2.4-beta1
v2.3.6
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.10
v2.3-beta2
v2.2.9
v2.3-beta1
v2.2.8
v2.2.7
v2.2.6
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.6
v2.2-beta2
v2.1.5
v2.2-beta1
v2.1.4
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.10
v2.1-beta1
v2.0.9
v2.0.8
v2.0.7
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v2.0.0
v2.0-beta3
v1.9.6
v1.9.5
v2.0-beta2
v1.9.4-r1
v1.9.3
v2.0-beta1
v1.9.2
v1.9.1
v1.9.0-r1
v1.8.4
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.7.3
v1.7.2-r1
v1.7.1
v1.7.0
v1.6.3
v1.6.2-r1
v1.6.1-r1
1.6.1
v1.6.0
v1.5.2
v1.5.1
v1.5.0
v1.4.2
v1.4.1
v1.4.0
v1.3.2
v1.3.1
v1.3.0
v1.2.2
v1.2.1
v1.2.0
v1.1.0
v1.0.7-r1
v1.0.7
v1.0.6
v1.0.5
v1.0.4
v1.0.3-r1
v1.0.3
1.0.0
Labels
Clear labels
beta
beta
beta
beta
breaking change
breaking change
breaking change
breaking change
breaking change
breaking change
breaking change
breaking change
breaking change
breaking change
breaking change
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: high
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: low
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
complexity: medium
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
netbox
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
pending closure
plugin candidate
plugin candidate
plugin candidate
severity: high
severity: high
severity: high
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: low
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
severity: medium
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: accepted
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: backlog
status: blocked
status: blocked
status: blocked
status: blocked
status: blocked
status: blocked
status: blocked
status: blocked
status: declined
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: duplicate
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs owner
status: needs triage
status: needs triage
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: revisions needed
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
status: under review
topic: GraphQL
topic: GraphQL
topic: GraphQL
topic: GraphQL
topic: GraphQL
topic: GraphQL
topic: GraphQL
topic: GraphQL
topic: GraphQL
topic: GraphQL
topic: OpenAPI
topic: UI/UX
topic: UI/UX
topic: cabling
topic: cabling
topic: cabling
topic: cabling
topic: custom scripts
topic: custom scripts
topic: custom scripts
topic: custom scripts
topic: custom scripts
topic: custom scripts
topic: migrations
topic: plugins
topic: plugins
topic: testing
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: bug
type: deprecation
type: deprecation
type: deprecation
type: deprecation
type: deprecation
type: deprecation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: documentation
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: feature
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: housekeeping
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: performance
type: removal
type: removal
type: translation
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
MrUnknownDE
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github/netbox#80
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @mrmrcoleman on 3/25/2026
Summary
Enables a single ModuleType to produce correctly named components at any nesting depth by resolving
{module}in module bay position fields during tree traversal. The user controls the separator through the position field template itself.Fixes: #19796
Depends on: #21752 (
{module}resolution in position field, included in this branch)Problem
A ModuleType with a single
{module}placeholder (e.g., an SFP with interfaceSFP {module}) cannot be reused at different nesting depths. Installing it at depth 2 requires{module}/{module}in the template name, forcing users to create duplicate ModuleTypes for every possible nesting level.Solution: Position Inheritance
Instead of introducing a new placeholder token, this PR resolves
{module}in each module bay's position field during tree traversal, propagating parent positions through the hierarchy. The user controls the separator by defining it directly in the position field template.Example
Using
-instead of/:Why not
{module_path}?The previous approach (PR #21436) introduced a new
{module_path}token with a hardcoded/separator. This approach is simpler and more flexible:{module}Credit to @rhartmann for suggesting this approach in the #21436 discussion.
Changes
dcim/models/device_component_templates.py_get_inherited_positions()to resolve positions during tree traversal; update_resolve_module_placeholder()with single-token logic (resolves to leaf's inherited position); addresolve_position()for position field resolution (#20467); consolidate into_resolve_placeholders()with{vc_position}supportdcim/forms/common.py_get_inherited_positions()static method; extract_validate_module_tokens()private method; updateclean()to use inherited positionsdcim/tests/test_models.pydocs/models/dcim/moduletype.mdTesting
All 1103 dcim tests pass (model, form, API). Added 5 new tests:
{module}-1resolves to1-1{module}/2resolves to1/2, interfaceSFP {module}resolves toSFP 1/2.separator produceseth1.1Gi{module}/{module}at matching depth still resolves level-by-levelDesign decisions
_get_inherited_positions()builds a separate list of resolved position strings without modifying module bay model instances{module}resolves to the leaf bay's inherited position regardless of depth{module}tokens must match tree depth exactly (unchanged behavior){vc_position}integration: position inheritance works alongside the{vc_position}template variable