Jason Novinger
667702e0c2
Rebuild frontend assets after rebase onto feature
2026-03-30 12:56:34 -05:00
Jason Novinger
e6314e3971
Remove stale comment in RegisteredActionsWidget
2026-03-30 12:56:29 -05:00
Jason Novinger
80595c0f67
Prevent duplicate action registration in register_model_actions()
2026-03-30 12:56:29 -05:00
Jason Novinger
3f2734d5b8
Fix shared action pre-selection and additional actions leakage on edit
2026-03-30 12:56:29 -05:00
Jason Novinger
637ebf642c
Add RESERVED_ACTIONS constant and fix dedup in registered actions
...
- Define RESERVED_ACTIONS in users/constants.py for the four built-in
permission actions (view, add, change, delete)
- Replace hardcoded action lists in ObjectPermissionForm with the constant
- Fix duplicate action names in clean() when the same action is registered
across multiple models (e.g. render_config for Device and VirtualMachine)
- Fix template substring matching bug in objectpermission.html detail view
by passing RESERVED_ACTIONS through view context for proper list membership
2026-03-30 12:56:29 -05:00
Jason Novinger
92301949df
Add documentation for custom model actions
...
- Add plugin development guide for registering custom actions
- Update admin permissions docs to mention custom actions UI
- Add docstrings to ModelAction and register_model_actions
2026-03-30 12:56:29 -05:00
Jason Novinger
0f5198e1b1
Hide custom actions field when no applicable models selected
...
The entire field row is now hidden when no selected object types
have registered custom actions, avoiding an empty "Custom actions"
label.
2026-03-30 12:56:29 -05:00
Jason Novinger
7541554d36
Refine registered actions widget UI
...
- Use verbose labels (App | Model) for action group headers
- Simplify template layout with h5 headers instead of cards
- Consolidate Standard/Custom/Additional Actions into single Actions fieldset
2026-03-30 12:56:29 -05:00
Jason Novinger
83888db109
Add tests for ModelAction and register_model_actions
2026-03-30 12:56:29 -05:00
Jason Novinger
02b85765d9
Register custom actions for DataSource, Device, and VirtualMachine
2026-03-30 12:56:29 -05:00
Jason Novinger
b2e0116302
Add JavaScript for registered actions show/hide
2026-03-30 12:56:29 -05:00
Jason Novinger
8926445ea2
Integrate registered actions into ObjectPermissionForm
2026-03-30 12:55:49 -05:00
Jason Novinger
5cfdf6ab6a
Add ObjectTypeSplitMultiSelectWidget and RegisteredActionsWidget
2026-03-30 12:55:25 -05:00
Jason Novinger
2cfecd7052
Add ModelAction and register_model_actions() API for custom permission actions
2026-03-30 12:55:25 -05:00
Martin Hauser
c7504628bd
feat(dcim): Add changelog message support to bulk component creation ( #21769 )
...
Add ChangelogMessageMixin to DeviceBulkAddComponentForm and capture
changelog_message during bulk component creation. Ensure message is
applied to each created component instance. Add test coverage for
changelog message propagation.
2026-03-30 08:42:05 -07:00
bctiemann
74aa822b27
Merge pull request #21762 from netbox-community/20162-background
...
#20162 allow background job when adding components to devices in bulk
2026-03-27 13:02:40 -04:00
Arthur
9bc66ee0bf
cleanup
2026-03-26 15:00:52 -07:00
Jeremy Stretch
296b89ae02
Fixes #21747 : Skip search caching when encountering an invalid schema during migrations ( #21748 )
2026-03-26 16:46:41 -04:00
Arthur
3ec0551680
cleanup
2026-03-26 13:37:40 -07:00
Arthur
8a58d760fa
cleanup
2026-03-26 13:25:49 -07:00
Arthur
84670af18b
#20162 allow background job when adding components to devices in bulk
2026-03-26 09:56:21 -07:00
Arthur Hanson
a3a204f2fd
Fix regression from #14329 ( #21759 )
2026-03-26 17:31:00 +01:00
Martin Hauser
2c0b6c4d55
feat(virtualization): Allow VMs to be assigned directly to devices ( #21731 )
...
Enable VMs to be assigned to a standalone device without requiring a
cluster. Add device-scoped uniqueness constraints, update validation
logic, and enhance placement flexibility. Site is now auto-inherited
from the cluster or device.
2026-03-25 10:20:00 -07:00
Jeremy Stretch
29239ca58a
Closes #21635 : Migrate from mkdocs to Zensical ( #21742 )
...
* Drop mkdocs from `requirements.txt` and add Zensical
* Replace mkdocs with Zensical in CI and pre-commit tasks
* Remove `.info` from the `docs/` build directory (obsolete)
* Update the legacy ReadTheDocs configuration
* Update upgrade script to use Zensical
* Remove custom docs footer
* Remove obsolete CSS
2026-03-25 16:48:29 +01:00
bctiemann
2a78c05984
Closes #19034 : Add calculated RackReservation.unit_count, with min/max filtering ( #21665 )
2026-03-25 08:50:53 -05:00
Jeremy Stretch
bc66d9f136
Closes #21702 : Include originating HTTP request in outbound webhook context data ( #21726 )
...
Adds a `request` key to the webhook data if a request is associated with the origination of the webhook.
Note: We're not attaching a complete representation of the request in the interest of both security and brevity.
2026-03-24 23:00:21 +01:00
Jeremy Stretch
b8ce81c8fe
Fix migration conflict
2026-03-24 16:25:49 -04:00
bctiemann
41d05490fc
Merge pull request #21691 from netbox-community/14329-cf
...
#14329 Improve diffs for custom_fields
2026-03-24 14:37:19 -04:00
bctiemann
82df20a8a9
Merge pull request #21648 from netbox-community/20152-support-for-marking-module-bays-and-device-bays-as-disabled
...
Closes #20152 : Add support for disabling Device and Module bays
2026-03-24 13:12:00 -04:00
Arthur Hanson
f303ae2cd7
Closes #21662 : Increase rf_channel_frequency Precision ( #21690 )
...
Increase `rf_channel_frequency` precision from two to three decimal
places.
Update the field definition and migration to use `max_digits=8` and
`decimal_places=3`, preserving support for higher channel frequencies
while allowing more precise values to be stored.
2026-03-24 17:36:20 +01:00
Étienne Brunel
1f336eee2e
Closes #21575 : Implement {vc_position} template variable on component template name/label ( #21601 )
2026-03-18 10:15:11 -07:00
Jeremy Stretch
6030fc383a
Merge branch 'main' into feature
2026-03-18 10:16:21 -04:00
github-actions
c3c7cf15b2
Update source translation strings
2026-03-18 05:28:51 +00:00
Jeremy Stretch
2b7049c39c
Release v4.5.5 ( #21672 )
...
* Release v4.5.5
* Pin django-rq to <4.0
v4.5.5
2026-03-17 14:58:14 -04:00
Martin Hauser
3ededeb0e7
fix(circuits): Clear Circuit Termination cache on change
...
Move cache update logic from signal to model save method and track
original values to properly clear old cache when circuit_id or term_side
changes. Add comprehensive tests for all cache update scenarios.
Fixes #21686
2026-03-17 13:16:22 -04:00
Arthur
1fb6507cc1
#14329 Improve diffs for custom_fields
2026-03-17 09:44:01 -07:00
Arthur Hanson
753fedf5e7
Revert " #14329 Improve diffs for custom_fields" ( #21692 )
...
This reverts commit 38afed60ef .
2026-03-17 17:35:30 +01:00
Arthur
ca021e808b
#14329 Improve diffs for custom_fields
2026-03-17 09:14:41 -07:00
Arthur
38afed60ef
#14329 Improve diffs for custom_fields
2026-03-17 09:09:03 -07:00
bctiemann
66f6b2b6f9
Merge pull request #21649 from netbox-community/21556-fix-dropdown-clearing
...
Fixes #21556 : Restore previous value (if applicable) after clearing related dropdown
2026-03-17 12:06:14 -04:00
Arthur
45b53ee036
#14329 Improve diffs for custom_fields
2026-03-17 09:03:57 -07:00
Arthur
992630d670
#14329 Improve diffs for custom_fields
2026-03-17 08:44:18 -07:00
Jeremy Stretch
61cef9400d
Fixes #21556 : Restore previous value (if applicable) after clearing related dropdown
2026-03-17 11:33:53 -04:00
Jonathan Senecal
d57f230f37
Fixes #21653 : Fix multi-position tracing in CablePath.from_origin() ( #21681 )
...
* Add failing tests for multi-position cable path tracing
* Fix multi-position tracing in CablePath.from_origin()
* Add failing test for multi-connector trunk cable tracing through patch panel
* Fix multi-connector profiled cable tracing in CablePath.from_origin()
2026-03-17 14:16:03 +01:00
Rob Duffy
472dc3882e
Fixes #21673 : UI Bug with Displaying Primary IP Address with NAT IP on a VM
2026-03-17 08:54:03 +01:00
Arthur
c8cd5fd6cd
#14329 Improve diffs for custom_fields
2026-03-16 17:14:26 -07:00
github-actions
21f78049bc
Update source translation strings
2026-03-14 05:18:31 +00:00
Jeremy Stretch
e28ed7446c
Fixes #21578 : Enable assignment of scope object by name when bulk importing prefixes/VLAN groups ( #21671 )
2026-03-13 16:27:26 -07:00
bctiemann
2f5543933e
Merge pull request #21670 from netbox-community/15513-add-bulk-create-for-prefixes
...
Closes #15513 : Add bulk creation support for IP prefixes
2026-03-13 18:25:13 -04:00
Jeremy Stretch
9b57512b12
Fixes #21579 : Display 'add script' button only if user has sufficient permission ( #21628 )
...
* Fixes #21579 : Display 'add script' button only if user has sufficient permission
* Check for core.add_managedfile permission too
2026-03-13 22:08:03 +01:00