Jeremy Stretch
5b4c8d47be
Fix typos
2026-04-02 12:58:52 -04:00
Jeremy Stretch
a8e2e50447
Yet more cleanup
2026-04-02 12:54:14 -04:00
Jeremy Stretch
7042844930
Pass the value returned by get_context() to should_render()
2026-04-02 12:09:24 -04:00
Jeremy Stretch
33a3632792
Misc cleanup
2026-04-02 11:59:15 -04:00
Jeremy Stretch
e5553e1949
Introduce should_render() method on Panel class
2026-04-02 11:30:23 -04:00
Jeremy Stretch
468dd84027
Handle panel title when object is not available
2026-04-02 11:15:08 -04:00
Jeremy Stretch
aeef559c0b
Catch exceptions raised when rendering embedded plugin content
2026-04-02 11:08:04 -04:00
Jeremy Stretch
b91dc1243b
Avoid setting mutable panel actions
2026-04-02 10:49:17 -04:00
Jeremy Stretch
5929c7cf1e
CopyContent does not need to override render()
2026-04-02 10:38:53 -04:00
Jeremy Stretch
cb983c6308
Panel.render() should pass the request to render_to_string()
2026-04-02 10:28:35 -04:00
Jeremy Stretch
1ccab930ef
Enable specifying column grid width
2026-04-02 10:10:35 -04:00
Jeremy Stretch
68bc97c24c
Misc cleanup for layouts
2026-04-02 10:01:05 -04:00
Jeremy Stretch
bd45f6e4d1
Replace all instantiations of Panel with TemplatePanel
2026-04-02 09:31:03 -04:00
Jeremy Stretch
faf8554d2c
Introduce CircuitTerminationPanel to replace generic panel
2026-04-01 17:15:05 -04:00
Jeremy Stretch
623ab55d5b
Include permissions in TemplatedAttr context
2026-04-01 16:48:19 -04:00
Jeremy Stretch
c9073aca3c
Misc cleanup
2026-04-01 15:49:55 -04:00
Jeremy Stretch
b62c5e1ac4
Merge branch 'main' into feature
2026-04-01 13:22:52 -04:00
bctiemann
1277bb6138
Merge pull request #21806 from netbox-community/21771-rest-api-add-remove-tags
...
Closes #21771 : Add `add_tags` & `remove_tags` fields for taggable objects
2026-04-01 13:02:19 -04:00
Fabi
e98e5e11a7
Fixes #21784 : Fix AttributeError when an AnonymousUser tries to sort a table ( #21817 )
2026-04-01 18:36:21 +02:00
Johannes Rueschel
3ce2bf75b4
Fixes #21533 : Fix missing family/mask_length in API when creating IP-related objects ( #21546 )
2026-04-01 11:25:00 -05:00
Martin Hauser
b1af9a7218
fix(dcim): Use hasattr check for virtual_circuit_termination ( #21811 )
...
Replace direct attribute access with hasattr() to prevent AttributeError
when the virtual_circuit_termination relation doesn't exist on the
object.
Fixes #21808
2026-04-01 18:06:18 +02:00
Artem Kotik
b73f7f7d00
Fixes #21655 : Fix duplicate SQL queries on serializing custom fields ( #21750 )
...
Co-authored-by: Jason Novinger <jnovinger@gmail.com >
Co-authored-by: Artem Kotik <artem.i.kotik@ringcentral.com >
2026-04-01 09:52:38 -05:00
Martin Hauser
9492b55f4b
fix(dcim): Fix Virtual Chassis Member add action context
...
Fix context variable references in VirtualChassMembersPanel add action
to use 'virtual_chassis' instead of 'object'. Add safe checks for
master_id existence to prevent errors when master is not set.
Fixes #21810
2026-04-01 08:59:39 -04:00
github-actions
2563122352
Update source translation strings
2026-04-01 05:39:05 +00:00
Martin Hauser
0455e14c29
docs(plugins): Use @register_search in plugin search docs
...
Align the plugin search example with the recommended registration
pattern used in the general search documentation and NetBox core.
Replace the legacy `indexes = [...]` example with decorator-based
registration to make the preferred approach clearer for plugin authors.
2026-03-31 16:55:27 -04:00
Jeremy Stretch
76c02d5aa9
Raise a validation error if the same tag is present in both add_tags and remove_tags
2026-03-31 16:44:37 -04:00
Jeremy Stretch
8bc691099c
Raise a validation error if remove_tags is specified when creating an object
2026-03-31 16:38:15 -04:00
Jeremy Stretch
95011821bb
Closes #21771 : Add add_tags & remove_tags fields for taggable objects
2026-03-31 16:02:32 -04:00
bctiemann
b8b12f3f90
#20923 - Convert extras to new declarative UI layout ( #21765 )
2026-03-31 20:28:16 +02:00
Jeremy Stretch
e5b9e5a279
Closes #19025 : Add schema validation for JSON custom fields ( #21746 )
2026-03-31 12:41:49 -05:00
Jeremy Stretch
05059f4a86
Release v4.5.6
v4.5.6
2026-03-31 12:43:26 -04:00
Martin Hauser
2389feea6b
feat(virtualization): Add Virtual Machine Type model
...
Introduce `VirtualMachineType` to classify virtual machines and apply
default platform, vCPU, and memory values when creating a VM.
This adds the new model and its relationship to `VirtualMachine`, and
wires it through forms, filtersets, tables, views, the REST API,
GraphQL, navigation, search, documentation, and tests.
Explicit values set on a virtual machine continue to take precedence,
and changes to a type do not retroactively update existing VMs.
2026-03-31 09:10:02 -04:00
Martin Hauser
e4e4c1c56d
feat(dcim): Add 50G, 800G, and 1.6T interface speed options ( #21796 )
...
Adds support for 50 Gbps, 800 Gbps, and 1.6 Tbps interface speeds to
the InterfaceSpeedChoices to cover newer high-speed networking hardware.
2026-03-31 14:33:23 +02:00
Martin Hauser
c99d8481b2
refactor(ui): Improve object change diff styling and layout
...
Update change data diff styling with CSS custom properties, better color
contrast, and consistent borders. Replace btn-group with card-actions
for navigation buttons and improve spacing.
2026-03-31 08:26:01 -04:00
Martin Hauser
0923a3dec8
fix(tables): Disable ordering on non-orderable accessor columns
...
Mark provider, member, and action_object columns as non-orderable since
they use complex accessors that cannot be sorted. Add regression tests
to verify all orderable columns render without exceptions.
Fixes table rendering errors when attempting to sort columns with
multi-level field accessors that don't support database ordering.
2026-03-31 08:18:36 -04:00
Martin Hauser
80b9c25674
feat(dcim): Add 2.5GE SFP interface type ( #21794 )
...
Add the `SFP (2.5GE)` interface type for devices with dedicated 2.5G SFP
slots that do not fit the existing SFP or SFP+ options.
2026-03-31 14:09:44 +02:00
github-actions
6d13bc8b96
Update source translation strings
2026-03-31 05:31:31 +00:00
Jeremy Stretch
ee17e83da6
Update CLAUDE.md ( #21777 )
2026-03-30 16:33:10 -05:00
Jeremy Stretch
5ab9608e38
Revert "Fixes #21747 : Skip search caching when encountering an invalid schema during migrations ( #21748 )" ( #21787 )
...
This reverts commit 296b89ae02 .
2026-03-30 23:31:41 +02: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
e54ed87863
Merge pull request #21778 from netbox-community/21763-m2m-form-fields
...
Fixes #21763 : Replace M2M selection field with separate add/remove fields
2026-03-30 11:23:36 -04:00
Jeremy Stretch
55daf4c52f
Add/fix tests
2026-03-30 10:02:38 -04:00
Jeremy Stretch
a45e8571da
Revert changes to ASNForm
2026-03-30 09:29:08 -04:00
Jeremy Stretch
0154a09856
Limit 'add' field choices to objects not already assigned
2026-03-30 09:22:56 -04:00
Jeremy Stretch
757c4f69d2
Annotate current number of assignments if >100
2026-03-30 09:15:35 -04:00
Jeremy Stretch
d5f37d7a87
Use add/remove fields only when assignment count is 100+
2026-03-30 09:07:15 -04:00
Jeremy Stretch
f30786d8fe
Fixes #21763 : Replace M2M selection field with separate add/remove fields
2026-03-27 16:45:36 -04: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
github-actions
bb73601d80
Update source translation strings
2026-03-27 05:31:05 +00:00
Arthur
9bc66ee0bf
cleanup
2026-03-26 15:00:52 -07:00