Skip to content

Commit 755825d

Browse files
committed
feat(dcim): Improve CableTypeChoices structure and grouping
Refactors `CableTypeChoices` by reorganizing cable types into more specific subcategories. Enhances clarity with distinct groups such as Copper (Twisted Pair, Twinax, Coaxial) and Fiber (Multi Mode, Single Mode, Other). Closes #19865
1 parent 103939a commit 755825d

File tree

1 file changed

+56
-11
lines changed

1 file changed

+56
-11
lines changed

netbox/dcim/choices.py

Lines changed: 56 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1497,8 +1497,9 @@ class PortTypeChoices(ChoiceSet):
14971497
# Cables/links
14981498
#
14991499

1500-
class CableTypeChoices(ChoiceSet):
15011500

1501+
class CableTypeChoices(ChoiceSet):
1502+
# Copper - Twisted Pair (UTP/STP)
15021503
TYPE_CAT3 = 'cat3'
15031504
TYPE_CAT5 = 'cat5'
15041505
TYPE_CAT5E = 'cat5e'
@@ -1507,26 +1508,41 @@ class CableTypeChoices(ChoiceSet):
15071508
TYPE_CAT7 = 'cat7'
15081509
TYPE_CAT7A = 'cat7a'
15091510
TYPE_CAT8 = 'cat8'
1511+
TYPE_MRJ21_TRUNK = 'mrj21-trunk'
1512+
1513+
# Copper - Twinax (DAC)
15101514
TYPE_DAC_ACTIVE = 'dac-active'
15111515
TYPE_DAC_PASSIVE = 'dac-passive'
1512-
TYPE_MRJ21_TRUNK = 'mrj21-trunk'
1516+
1517+
# Copper - Coaxial
15131518
TYPE_COAXIAL = 'coaxial'
1519+
1520+
# Fiber Optic - Multimode
15141521
TYPE_MMF = 'mmf'
15151522
TYPE_MMF_OM1 = 'mmf-om1'
15161523
TYPE_MMF_OM2 = 'mmf-om2'
15171524
TYPE_MMF_OM3 = 'mmf-om3'
15181525
TYPE_MMF_OM4 = 'mmf-om4'
15191526
TYPE_MMF_OM5 = 'mmf-om5'
1527+
1528+
# Fiber Optic - Single-mode
15201529
TYPE_SMF = 'smf'
15211530
TYPE_SMF_OS1 = 'smf-os1'
15221531
TYPE_SMF_OS2 = 'smf-os2'
1532+
1533+
# Fiber Optic - Other
15231534
TYPE_AOC = 'aoc'
1535+
1536+
# Power
15241537
TYPE_POWER = 'power'
1538+
1539+
# USB
15251540
TYPE_USB = 'usb'
15261541

15271542
CHOICES = (
15281543
(
1529-
_('Copper'), (
1544+
_('Copper - Twisted Pair (UTP/STP)'),
1545+
(
15301546
(TYPE_CAT3, 'CAT3'),
15311547
(TYPE_CAT5, 'CAT5'),
15321548
(TYPE_CAT5E, 'CAT5e'),
@@ -1535,28 +1551,57 @@ class CableTypeChoices(ChoiceSet):
15351551
(TYPE_CAT7, 'CAT7'),
15361552
(TYPE_CAT7A, 'CAT7a'),
15371553
(TYPE_CAT8, 'CAT8'),
1554+
(TYPE_MRJ21_TRUNK, 'MRJ21 Trunk'),
1555+
),
1556+
),
1557+
(
1558+
_('Copper - Twinax (DAC)'),
1559+
(
15381560
(TYPE_DAC_ACTIVE, 'Direct Attach Copper (Active)'),
15391561
(TYPE_DAC_PASSIVE, 'Direct Attach Copper (Passive)'),
1540-
(TYPE_MRJ21_TRUNK, 'MRJ21 Trunk'),
1562+
),
1563+
),
1564+
(
1565+
_('Copper - Coaxial'),
1566+
(
15411567
(TYPE_COAXIAL, 'Coaxial'),
15421568
),
15431569
),
15441570
(
1545-
_('Fiber'), (
1571+
_('Fiber - Multimode'),
1572+
(
15461573
(TYPE_MMF, 'Multimode Fiber'),
15471574
(TYPE_MMF_OM1, 'Multimode Fiber (OM1)'),
15481575
(TYPE_MMF_OM2, 'Multimode Fiber (OM2)'),
15491576
(TYPE_MMF_OM3, 'Multimode Fiber (OM3)'),
15501577
(TYPE_MMF_OM4, 'Multimode Fiber (OM4)'),
15511578
(TYPE_MMF_OM5, 'Multimode Fiber (OM5)'),
1552-
(TYPE_SMF, 'Singlemode Fiber'),
1553-
(TYPE_SMF_OS1, 'Singlemode Fiber (OS1)'),
1554-
(TYPE_SMF_OS2, 'Singlemode Fiber (OS2)'),
1555-
(TYPE_AOC, 'Active Optical Cabling (AOC)'),
15561579
),
15571580
),
1558-
(TYPE_USB, _('USB')),
1559-
(TYPE_POWER, _('Power')),
1581+
(
1582+
_('Fiber - Single-mode'),
1583+
(
1584+
(TYPE_SMF, 'Single-mode Fiber'),
1585+
(TYPE_SMF_OS1, 'Single-mode Fiber (OS1)'),
1586+
(TYPE_SMF_OS2, 'Single-mode Fiber (OS2)'),
1587+
),
1588+
),
1589+
(
1590+
_('Fiber - Other'),
1591+
((TYPE_AOC, 'Active Optical Cabling (AOC)'),),
1592+
),
1593+
(
1594+
_('Power'),
1595+
(
1596+
(TYPE_POWER, 'Power'),
1597+
),
1598+
),
1599+
(
1600+
_('USB'),
1601+
(
1602+
(TYPE_USB, 'USB'),
1603+
),
1604+
),
15601605
)
15611606

15621607

0 commit comments

Comments
 (0)