Show/hide Custom Links based on object data #2766

Closed
opened 2025-12-29 18:21:51 +01:00 by adam · 1 comment
Owner

Originally created by @2bithacker on GitHub (Jul 29, 2019).

Environment

  • Python version:
  • NetBox version:

Proposed Functionality

The ability to show/hide custom links based on data in the object currently being viewed. For example, only show the custom link if a device has a specific role.

For flexibility, it might be nice to make the conditional a Jinja template that is evaluated for a true/false value, allowing users to have arbitrarily complex logic for button display.

Use Case

We have an external system which contains more information about certain devices. It would be nice to have a link in Netbox to that system, but only for devices of a specific role.

Database Changes

Probably an additional field on the Custom Link model for storing the conditional.

External Dependencies

Originally created by @2bithacker on GitHub (Jul 29, 2019). <!-- NOTE: This form is only for proposing specific new features or enhancements. If you have a general idea or question, please post to our mailing list instead of opening an issue: https://groups.google.com/forum/#!forum/netbox-discuss NOTE: Due to an excessive backlog of feature requests, we are not currently accepting any proposals which significantly extend NetBox's feature scope. Please describe the environment in which you are running NetBox. Be sure that you are running an unmodified instance of the latest stable release before submitting a bug report. --> ### Environment * Python version: <!-- Example: 3.5.4 --> * NetBox version: <!-- Example: 2.3.6 --> <!-- Describe in detail the new functionality you are proposing. Include any specific changes to work flows, data models, or the user interface. --> ### Proposed Functionality The ability to show/hide custom links based on data in the object currently being viewed. For example, only show the custom link if a device has a specific role. For flexibility, it might be nice to make the conditional a Jinja template that is evaluated for a true/false value, allowing users to have arbitrarily complex logic for button display. <!-- Convey an example use case for your proposed feature. Write from the perspective of a NetBox user who would benefit from the proposed functionality and describe how. ---> ### Use Case We have an external system which contains more information about certain devices. It would be nice to have a link in Netbox to that system, but only for devices of a specific role. <!-- Note any changes to the database schema necessary to support the new feature. For example, does the proposal require adding a new model or field? (Not all new features require database changes.) ---> ### Database Changes Probably an additional field on the Custom Link model for storing the conditional. <!-- List any new dependencies on external libraries or services that this new feature would introduce. For example, does the proposal require the installation of a new Python package? (Not all new features introduce new dependencies.) --> ### External Dependencies
adam closed this issue 2025-12-29 18:21:51 +01:00
Author
Owner

@jeremystretch commented on GitHub (Jul 30, 2019):

Custom links will only display if the rendered link text is not empty. So, you can do something like this:

{% if obj.role.slug == 'foo' %}{{ obj.name }}{% endif %}

Then the link will only display if the role's slug is foo.

@jeremystretch commented on GitHub (Jul 30, 2019): Custom links will only display if the rendered link text is not empty. So, you can do something like this: ``` {% if obj.role.slug == 'foo' %}{{ obj.name }}{% endif %} ``` Then the link will only display if the role's slug is `foo`.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#2766