[PR #8414] [MERGED] Closes #8392: Enable NetBox features for plugin models #13351

Closed
opened 2025-12-29 22:26:55 +01:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/netbox-community/netbox/pull/8414
Author: @jeremystretch
Created: 1/20/2022
Status: Merged
Merged: 1/20/2022
Merged by: @jeremystretch

Base: featureHead: 8392-plugins-features


📝 Commits (9)

  • c7825e3 Designate feature mixin classes & employ class_prepared signal to register features
  • cdae0c2 Remove extras_features() decorator
  • 047bed2 Tweak registry initialization
  • dd55226 Draft documentation for model features
  • d104544 Add mkdocstrings
  • 1967844 Update documentation requirements
  • b7682ca Fix documentation build
  • 1a8f144 Include custom validation in BaseModel
  • e6acae5 Omit job results as a supported feature

📊 Changes

33 files changed (+341 additions, -252 deletions)

View changed files

📝 base_requirements.txt (+4 -0)
docs/plugins/development/index.md (+3 -0)
docs/plugins/development/model-features.md (+64 -0)
docs/requirements.txt (+0 -7)
📝 mkdocs.yml (+19 -1)
📝 netbox/circuits/models/circuits.py (+2 -5)
📝 netbox/circuits/models/providers.py (+0 -3)
📝 netbox/dcim/models/cables.py (+0 -2)
📝 netbox/dcim/models/device_component_templates.py (+3 -13)
📝 netbox/dcim/models/device_components.py (+0 -12)
📝 netbox/dcim/models/devices.py (+0 -9)
📝 netbox/dcim/models/power.py (+0 -3)
📝 netbox/dcim/models/racks.py (+0 -4)
📝 netbox/dcim/models/sites.py (+0 -6)
📝 netbox/extras/constants.py (+1 -0)
📝 netbox/extras/models/configcontexts.py (+2 -3)
📝 netbox/extras/models/customfields.py (+3 -3)
📝 netbox/extras/models/models.py (+9 -15)
📝 netbox/extras/models/tags.py (+2 -3)
📝 netbox/extras/registry.py (+11 -2)

...and 13 more files

📄 Description

Closes: #8392

  • Refactor NetBox's base models to break individual features out into separate mixin classes
  • Ditch extras_features() decorator for feature registration
  • Introduce mkdocstrings for embedded code documentation

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/netbox-community/netbox/pull/8414 **Author:** [@jeremystretch](https://github.com/jeremystretch) **Created:** 1/20/2022 **Status:** ✅ Merged **Merged:** 1/20/2022 **Merged by:** [@jeremystretch](https://github.com/jeremystretch) **Base:** `feature` ← **Head:** `8392-plugins-features` --- ### 📝 Commits (9) - [`c7825e3`](https://github.com/netbox-community/netbox/commit/c7825e391cabbdcc7616e78d70313957fee38b25) Designate feature mixin classes & employ class_prepared signal to register features - [`cdae0c2`](https://github.com/netbox-community/netbox/commit/cdae0c2bef3f5cfe81acf0bf3927ed5d98a3650d) Remove extras_features() decorator - [`047bed2`](https://github.com/netbox-community/netbox/commit/047bed2a865bcc69f0702ad9b06f664ab9ccc3c5) Tweak registry initialization - [`dd55226`](https://github.com/netbox-community/netbox/commit/dd552264559c968c94a725c9558a4fd01cd039c4) Draft documentation for model features - [`d104544`](https://github.com/netbox-community/netbox/commit/d104544d6f26f54d8982b385b7bf6aa31f86255d) Add mkdocstrings - [`1967844`](https://github.com/netbox-community/netbox/commit/196784474def8604dda5a74a13a9be29d2708dd9) Update documentation requirements - [`b7682ca`](https://github.com/netbox-community/netbox/commit/b7682ca9e829102b636864b23eaff15eb4562544) Fix documentation build - [`1a8f144`](https://github.com/netbox-community/netbox/commit/1a8f144f5c2ca9d307f8ab7829f595a539206e81) Include custom validation in BaseModel - [`e6acae5`](https://github.com/netbox-community/netbox/commit/e6acae5f94485a2eb459e17a0ed008f76fcc7226) Omit job results as a supported feature ### 📊 Changes **33 files changed** (+341 additions, -252 deletions) <details> <summary>View changed files</summary> 📝 `base_requirements.txt` (+4 -0) ➕ `docs/plugins/development/index.md` (+3 -0) ➕ `docs/plugins/development/model-features.md` (+64 -0) ➖ `docs/requirements.txt` (+0 -7) 📝 `mkdocs.yml` (+19 -1) 📝 `netbox/circuits/models/circuits.py` (+2 -5) 📝 `netbox/circuits/models/providers.py` (+0 -3) 📝 `netbox/dcim/models/cables.py` (+0 -2) 📝 `netbox/dcim/models/device_component_templates.py` (+3 -13) 📝 `netbox/dcim/models/device_components.py` (+0 -12) 📝 `netbox/dcim/models/devices.py` (+0 -9) 📝 `netbox/dcim/models/power.py` (+0 -3) 📝 `netbox/dcim/models/racks.py` (+0 -4) 📝 `netbox/dcim/models/sites.py` (+0 -6) 📝 `netbox/extras/constants.py` (+1 -0) 📝 `netbox/extras/models/configcontexts.py` (+2 -3) 📝 `netbox/extras/models/customfields.py` (+3 -3) 📝 `netbox/extras/models/models.py` (+9 -15) 📝 `netbox/extras/models/tags.py` (+2 -3) 📝 `netbox/extras/registry.py` (+11 -2) _...and 13 more files_ </details> ### 📄 Description ### Closes: #8392 - Refactor NetBox's base models to break individual features out into separate mixin classes - Ditch `extras_features()` decorator for feature registration - Introduce mkdocstrings for embedded code documentation --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2025-12-29 22:26:55 +01:00
adam closed this issue 2025-12-29 22:26:55 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#13351