mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-11 21:10:29 +01:00
No Branch/Tag Specified
main
update-changelog-comments-docs
feature-removal-issue-type
20911-dropdown
20239-plugin-menu-classes-mutable-state
21097-graphql-id-lookups
feature
fix_module_substitution
20923-dcim-templates
20044-elevation-stuck-lightmode
feature-ip-prefix-link
v4.5-beta1-release
20068-import-moduletype-attrs
20766-fix-german-translation-code-literals
20378-del-script
7604-filter-modifiers-v3
circuit-swap
12318-case-insensitive-uniqueness
20637-improve-device-q-filter
20660-script-load
19724-graphql
20614-update-ruff
14884-script
02496-max-page
19720-macaddress-interface-generic-relation
19408-circuit-terminations-export-templates
20203-openapi-check
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.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
breaking change
complexity: high
complexity: low
complexity: medium
needs milestone
netbox
pending closure
plugin candidate
pull-request
severity: high
severity: low
severity: medium
status: accepted
status: backlog
status: blocked
status: duplicate
status: needs owner
status: needs triage
status: revisions needed
status: under review
topic: GraphQL
topic: Internationalization
topic: OpenAPI
topic: UI/UX
topic: cabling
topic: event rules
topic: htmx navigation
topic: industrialization
topic: migrations
topic: plugins
topic: scripts
topic: templating
topic: testing
type: bug
type: deprecation
type: documentation
type: feature
type: housekeeping
type: translation
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/netbox#1100
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 @Bill-Irvine on GitHub (Jul 14, 2017).
Originally assigned to: @jeremystretch on GitHub.
Issue type: Feature Request
This may well be out of scope for Netbox as a technical application but thought i'd gauge interest in this feature.
I find myself managing several sites with the same contact. When that contact for example changes an email address, phone number, or someone takes over their role i am updating all the sites with that contact listed.
If this is changed to a contact object that we then attach to these sites we have a central place to manage these people without duplicating the data in separate sites.
From here we could add functionality such as adding several contacts to a site (primary, secondary), we could stipulate between a business contact or a technical contact, add which company they work for, have an api get request that lists contacts for a child object such as devices (useful for managing outages and notifications).
Let me know your thoughts.
@modir commented on GitHub (Jul 27, 2018):
Not only would it be useful to have several contacts for sites, but for providers as well. There we often have as well a technical contact and a business contact.
@SzymonKurowski commented on GitHub (Jun 8, 2019):
I have similar business needs in my organization (multiple contacts per site). I like the approach described above.
Is there anyone who is currently working on that? I would like to offer my contribution.
@SzymonKurowski commented on GitHub (Jul 1, 2019):
There is a one key point to discuss. How to deal with current contact information added to Site model.
To implement this feature it is necessary to add new model (i.e. Contact) and then if we move contact from Site to the Contact model – it will break a backward-compatibility.
For the first iteration, I would leave Site contact fields (it can be treat as a main contact to the site) and add Contact model for any specific contacts. Additionally, each contact from Contact model can refer to more than one site.
Please let me know if you have any thoughts.
@mtbutler07 commented on GitHub (Nov 5, 2019):
+1 For adding multiple sources for contact information for sites.
@ryanmerolle commented on GitHub (Nov 11, 2019):
I say for backwards compatibility, I would implement the way in which @SzymonKurowski mentions with one alteration:
@ryanmerolle commented on GitHub (Nov 11, 2019):
It would also be useful to apply the contact object relationship to:
You could argue for contacts to be linked to devices, racks, rack groups, and etc, but that would shift this tool to more of a CMDB for everything, and I am not sure we want to do that.
@adamkf commented on GitHub (Mar 12, 2020):
@ryanmerolle: I agree this relationship might be useful across multiple object relationships. We managed a couple thousand internal subnets in our org and currently use custom fields to assign ownership responsibility for given subnets (eg: Network Team, Dev Team 1, Dev Team 88, Individual Person 23, etc) so when our security group reaches out and says "who owns this infected machine" we have a starting point.
This FR has been around since 2017. Has anyone made progress toward it? I'm happy to throw my time at as we have a need internally.
@athompson-merlin commented on GitHub (Mar 27, 2020):
FWIW, I don't need extended contact capabilities on Sites, but I do desperately need Contacts on Tenants instead.
Having an optional Contact[s] object attachable to every top-level object would be ideal, who knows where I might need to hang contact information someday.
@jorp commented on GitHub (Jul 2, 2021):
Would it be too much of a hassle to be able to bring contact information in from LDAP? Setting a contact as a specific user or group would be pretty beneficial.
@pisaniej commented on GitHub (Aug 30, 2021):
What kind of relationship would a Contact have to an object?
For example, would
virtualization.VirtualMachinebe able to have multiple Contacts? I could see this being useful for an internal contact relating to an object, along with adding another for external vendor information.@jeremystretch commented on GitHub (Oct 15, 2021):
There are several themes in the discussion above that are important to identify individually:
I also want to highlight something @ryanmerolle pointed out:
It's important to recognize that NetBox's function is not to serve as a corporate directory. Our goal here is to efficiently convey contact information for a subset of existing object types within NetBox and nothing more.
In the interest of moving forward with this feature, I'd like to propose an implementation. First, we would introduce a new Contact model within the tenancy app, with the following fields:
Because we want to be able to reuse contacts among objects, and because we want the ability to associate multiple contacts with an object, it makes sense to model these as many-to-many relationships with an interim "through" model indicating the nature of the relationship. Although not the best-performing option, this will grant us the greatest amount of flexibility.
Then, there's the open question of which NetBox models can have contacts associated with them. We could take a more liberal approach and enable contact assignment for all primary and organizational models (essentially the "meat" of NetBox). However, we also need to bear in mind the imposed overhead, particularly because we're dealing with many-to-many relationships: Each relationships between the Contact model and another model effects a new SQL table to track the M2M assignments. There are performance implications for the REST API as well, if we decide to return associated contacts for each object.
@tb-killa commented on GitHub (Oct 15, 2021):
One idea would be:
add Contacts and Contact-Group Model.
Contacts would be Persons like Jeremy mentioned. For another easier way it would be great if Contacts also selectable Users from NetBox.
Contact-Groups are Groups who could be Named and who could be filled with needing Contacts.
For the best affort it would be great if we could assign Contacts and or Groups to All needing Models inside Netbox.
@jeremystretch commented on GitHub (Oct 18, 2021):
So, I burned an entire day on this, but here's what I ended up doing:
Contact assignments employ generic foreign keys (similar to image attachments) to avoid imposing too much overhead. This allows us to assign contacts to a bunch of models without needing to create additional tables.
I'm sure it still needs a bit of cleanup, but I feel this is a reasonable approach that fulfills all four use cases I identified in my previous comment. The biggest hindrance at the moment is probably that you can't create and assign a contact in one go: the contact must be created first, and can then be assigned to objects. I'm sure we can accommodate a more convenient workflow, but it may require refactoring the generic ObjectEditView first.
@DanSheps commented on GitHub (Oct 18, 2021):
And here I was thinking I was going to take care of contact objects. Guess you beat me too it...