netbox-community / netbox

The premier source of truth powering network automation. Open source under Apache 2. Try NetBox Cloud free: https://netboxlabs.com/free-netbox-cloud/
http://netboxlabs.com/oss/netbox/
Apache License 2.0
16.25k stars 2.59k forks source link

Change color interface background (enabled/disabled/connected) #17215

Open PieterL75 opened 2 months ago

PieterL75 commented 2 months ago

NetBox version

v4.0.9

Feature type

Change to existing functionality

Proposed functionality

This is a revisit of #16075 , as it was closed.

This is revisit of #15379. There @jeremystretch mentioned that the coloring would go away in v4.0, but it seems they are still there, hence my resubmit of this FR

Can we have a poll with the community to see what they prefer ?

Currently the background color of an interface is like this : disabled: red virtual: blue enabled, marked_connected: green enabled, connected (cable status color) : green/blue/.. enabled, no cable : white

def get_cabletermination_row_class(record):
    if record.mark_connected:
        return 'success'
    elif record.cable:
        return record.cable.get_status_color()
    return ''

def get_interface_row_class(record):
    if not record.enabled:
        return 'danger'
    elif record.is_virtual:
        return 'primary'
    return get_cabletermination_row_class(record)

My proposal is to change the color coding to:

disabled: white virtual: blue enabled, marked_connected: green enabled, connected (cable status color) : green/blue/... enabled, no cable : red

def get_cabletermination_row_class(record):
    if record.mark_connected:
        return 'success'
    elif record.cable:
        return record.cable.get_status_color()
    return 'danger'

def get_interface_row_class(record):
    if not record.enabled:
        return ''
    elif record.is_virtual:
        return 'primary'
    return get_cabletermination_row_class(record)

Use case

The 'red' color is confusing, as it tells me something is 'wrong'. but having an interface in the disable state is not wrong. image

With the proposed change, this view would become more logic (red = wrong state ) image

Having an 'enabled' interface, without a cable is 'danger' A disabled interface is just good, that can be white.

Database changes

No response

External dependencies

No response

jeremystretch commented 3 weeks ago

IMO we should change the color for disabled interfaces from red to gray and leave the rest as-is.

PieterL75 commented 3 weeks ago

Sounds like a fair compromise. As long as the disabled interfaces are no longer red...

We're starting to implement automation, with the status being a real value. And that red is an eyesore.