mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Closes #3145: Add 'decommissioning' status for cables
This commit is contained in:
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
## Enhancements
|
## Enhancements
|
||||||
|
|
||||||
|
* [#3145](https://github.com/netbox-community/netbox/issues/3145) - Add a "decommissioning" cable status
|
||||||
* [#4173](https://github.com/netbox-community/netbox/issues/4173) - Return graceful error message when webhook queuing fails
|
* [#4173](https://github.com/netbox-community/netbox/issues/4173) - Return graceful error message when webhook queuing fails
|
||||||
|
|
||||||
## Bug Fixes
|
## Bug Fixes
|
||||||
|
@ -973,10 +973,12 @@ class CableStatusChoices(ChoiceSet):
|
|||||||
|
|
||||||
STATUS_CONNECTED = 'connected'
|
STATUS_CONNECTED = 'connected'
|
||||||
STATUS_PLANNED = 'planned'
|
STATUS_PLANNED = 'planned'
|
||||||
|
STATUS_DECOMMISSIONING = 'decommissioning'
|
||||||
|
|
||||||
CHOICES = (
|
CHOICES = (
|
||||||
(STATUS_CONNECTED, 'Connected'),
|
(STATUS_CONNECTED, 'Connected'),
|
||||||
(STATUS_PLANNED, 'Planned'),
|
(STATUS_PLANNED, 'Planned'),
|
||||||
|
(STATUS_DECOMMISSIONING, 'Decommissioning'),
|
||||||
)
|
)
|
||||||
|
|
||||||
LEGACY_MAP = {
|
LEGACY_MAP = {
|
||||||
|
@ -1956,6 +1956,7 @@ class Cable(ChangeLoggedModel):
|
|||||||
STATUS_CLASS_MAP = {
|
STATUS_CLASS_MAP = {
|
||||||
CableStatusChoices.STATUS_CONNECTED: 'success',
|
CableStatusChoices.STATUS_CONNECTED: 'success',
|
||||||
CableStatusChoices.STATUS_PLANNED: 'info',
|
CableStatusChoices.STATUS_PLANNED: 'info',
|
||||||
|
CableStatusChoices.STATUS_DECOMMISSIONING: 'warning',
|
||||||
}
|
}
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -2116,14 +2117,14 @@ class Cable(ChangeLoggedModel):
|
|||||||
b_path = self.termination_a.trace()
|
b_path = self.termination_a.trace()
|
||||||
|
|
||||||
# Determine overall path status (connected or planned)
|
# Determine overall path status (connected or planned)
|
||||||
if self.status == CableStatusChoices.STATUS_PLANNED:
|
if self.status == CableStatusChoices.STATUS_CONNECTED:
|
||||||
path_status = CONNECTION_STATUS_PLANNED
|
|
||||||
else:
|
|
||||||
path_status = CONNECTION_STATUS_CONNECTED
|
path_status = CONNECTION_STATUS_CONNECTED
|
||||||
for segment in a_path[1:] + b_path[1:]:
|
for segment in a_path[1:] + b_path[1:]:
|
||||||
if segment[1] is None or segment[1].status == CableStatusChoices.STATUS_PLANNED:
|
if segment[1] is None or segment[1].status != CableStatusChoices.STATUS_CONNECTED:
|
||||||
path_status = CONNECTION_STATUS_PLANNED
|
path_status = CONNECTION_STATUS_PLANNED
|
||||||
break
|
break
|
||||||
|
else:
|
||||||
|
path_status = CONNECTION_STATUS_PLANNED
|
||||||
|
|
||||||
a_endpoint = a_path[-1][2]
|
a_endpoint = a_path[-1][2]
|
||||||
b_endpoint = b_path[-1][2]
|
b_endpoint = b_path[-1][2]
|
||||||
|
Reference in New Issue
Block a user