Commit Graph

15136 Commits

Author SHA1 Message Date
Jeremy Stretch
0563cc4585 Closes #21788: Return CSV export as a streaming response (#21974) 2026-04-23 09:45:15 -07:00
Jeremy Stretch
df02abbbdf Merge branch 'main' into feature 2026-04-23 11:10:58 -04:00
Artem Kotik
7941303d4b Closes #21854: Support multi-select object filters in Filter Forms (#21981)
Use `DynamicModelMultipleChoiceField` for `TYPE_OBJECT` in FilterSet forms
so users can select multiple related objects when filtering.
2026-04-23 13:53:39 +02:00
github-actions
e0abfaea63 Update source translation strings 2026-04-23 05:43:53 +00:00
Martin Hauser
c71635510c feat(account): Add sticky bulk actions to account templates (#21987)
Convert bookmarks, notifications, and subscriptions templates to use
the new sticky-actions component with data-driven positioning. Wraps
bulk delete buttons in sticky-actions card for consistent UX.
2026-04-22 22:30:59 +02:00
Jeremy Stretch
789085cc33 Fixes #21975: Prefetch all related data during CSV bulk export (#21976) 2026-04-22 08:56:30 -07:00
github-actions
81d412541c Update source translation strings 2026-04-22 05:41:13 +00:00
bctiemann
e14f27ec83 Merge pull request #21969 from netbox-community/21924-improve-styling-and-consistency-of-floating-bulk-actions
Closes #21924: Refactor sticky bulk actions and form bars
2026-04-21 13:25:50 -04:00
bctiemann
6a9c3dad17 Merge pull request #21932 from netbox-community/21782-config
21782 Enable optional config template override in URL
2026-04-21 13:24:10 -04:00
Martin Hauser
4260280452 test(ipam): Make AnnotatedIPAddressTable checkbox test deterministic
Replace whole-table HTML string counting in AnnotatedIPAddressTableTest
`test_ipaddress_has_checkbox_iprange_does_not` with row-specific `pk`
cell assertions.

This avoids false failures when an `IPAddress` and `IPRange` happen to
share the same numeric primary key and makes the test stable in CI.

Fixes #21971
2026-04-21 08:15:30 -04:00
github-actions
c62d0e8579 Update source translation strings 2026-04-21 05:41:44 +00:00
Martin Hauser
409d4a8958 Fixes #21966: Fix OpenAPI schema for available-vlans endpoint request body (#21973) 2026-04-20 14:11:47 -05:00
Martin Hauser
5c6787756c feat(virtualization): use native unique constraint for VirtualMachineType slug (#21970)
Replace the UniqueConstraint on the slug field with the native
`unique=True` parameter on SlugField in both the model definition and
migration. This resolves a compatibility issue with netbox_branching,
which does not handle a SlugField combined with a separate
UniqueConstraint on the same field.
2026-04-20 10:42:32 -07:00
Jeremy Stretch
29ae9f400a Fixes #21906: Return a 404 for REST API writes to endpoints with no trailing slash (#21967) 2026-04-20 10:32:47 -07:00
Jeremy Stretch
1f9ed248bd Closes #21929: Eliminate redundant object view templates (#21930) 2026-04-20 09:38:41 -07:00
Jeremy Stretch
b68b0c6d78 Closes #21751: Enable toggling user notifications when executing custom scripts (#21923) 2026-04-20 09:32:41 -07:00
Arthur Hanson
900f1155af Closes #21866: Include the PostgreSQL database schema within System details (#21901)
Expose the current PostgreSQL schema from the system view and include it
in the exported system data.

Load the Database tab on demand with HTMX so schema introspection only
runs when the panel is opened, while keeping the export path eager.
Use the active PostgreSQL schema instead of assuming `public`, move the
schema helpers into `core.utils`, and tidy the accordion toggle styling.
2026-04-20 18:18:10 +02:00
Martin Hauser
313b311962 feat(ui): Refactor sticky bulk actions and form bars
Replace ad-hoc btn-float-group classes with a data-attribute-driven
sticky-actions system. Selection-driven bars use JS-toggled
`.is-sticky-active`; always-visible bars are pure CSS. Remove
obsolete `.btn-float` class usage from footer templates.

Fixes #21924
2026-04-20 17:41:29 +02:00
Jeremy Stretch
a451e12158 Fixes #21955: Revert errant docs addition (#21968) 2026-04-20 17:12:20 +02:00
Ibtissam
a372f78a9e Fixes #21658: Fix OpenAPI schema for available-prefixes endpoint request body (#21956) 2026-04-20 08:46:41 -05:00
Grische
26c6c59797 Fixes #21935: Document MAX_PAGE_SIZE effect on GraphQL (#21940) 2026-04-20 13:01:48 +02:00
github-actions
74dab1fba0 Update source translation strings 2026-04-18 05:30:57 +00:00
Jamie (Bear) Murphy
87b17ff26d Fixes #21711: Added support for filtering and viewing modules by their module type profile (#21900) 2026-04-17 10:34:50 -07:00
Martin Hauser
93fdcaf34e perf(dcim): Batch peer termination lookups in Cable Path Tracing
Add `get_peer_terminations()` to resolve multiple cable terminations in
a single query, reducing N+1 queries during path tracing. Update path
resolution to use batched lookup and deduplicate peers by identity.

Fixes #21688
2026-04-17 10:03:09 -04:00
Martin Hauser
0d1e9d88a8 fix(dcim): Add comments field to MAC Address form
Include the comments field in MACAddressForm field list to allow editing
MAC Address comments via the UI form.

Fixes #21947
2026-04-17 09:37:56 -04:00
github-actions
3eb89531ad Update source translation strings 2026-04-17 05:42:14 +00:00
Jeremy Stretch
b2af01c400 Update performance issue template (#21946)
* Update performance issue template

* Update .github/ISSUE_TEMPLATE/03-performance.yaml

Co-authored-by: Martin Hauser <mhauser@netboxlabs.com>
2026-04-16 23:13:16 +02:00
Martin Hauser
850d4dd1ad fix(ui): Suppress unauthorized embedded object tables
Add a `should_render()` hook to the `Panel` base class and override it
in `ObjectsTablePanel` to check the requesting user's view permission
for the panel's model. This prevents object detail pages from issuing
HTMX requests for related tables (e.g. locations, devices, image
attachments) that return 403 and disrupt the page.

Fixes #21893

Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
2026-04-16 16:48:15 -04:00
Arthur Hanson
a6cc0b671e #21361 Expand unit tests for ObjectChange and testing asserts (#21905)
* #21361 Expand unit tests for ObjectChange and testing asserts

* cleanup

* review feedback

* review feedback

* cleanup

* cleanup

* cleanup

* cleanup
2026-04-16 16:42:57 -04:00
Jeremy Stretch
4fb9410aa9 Misc updates to the contributing guide (#21944)
* Misc updates to the contributing guide

* Update CONTRIBUTING.md

Co-authored-by: Martin Hauser <mhauser@netboxlabs.com>

---------

Co-authored-by: Martin Hauser <mhauser@netboxlabs.com>
2026-04-16 16:35:33 -04:00
Jeremy Stretch
af7a35f836 Closes #21936: Deprecate LOGIN_REQUIRED (#21941)
Closes #21936: Deprecate LOGIN_REQUIRED
2026-04-16 14:33:11 -05:00
Arthur
5c1d1d6001 documentation 2026-04-16 11:49:54 -07:00
Arthur
bbd2796c17 documentation 2026-04-16 11:29:59 -07:00
Arthur
3a30dc5dbc internationalize strings 2026-04-16 11:02:42 -07:00
Arthur
86e29cd3f6 cleanup 2026-04-16 09:27:15 -07:00
Arthur
a2845d190e cleanup 2026-04-16 09:20:47 -07:00
Arthur
7f14434162 cleanup 2026-04-16 09:10:45 -07:00
github-actions
885be7106a Update source translation strings 2026-04-16 05:43:12 +00:00
Arthur
ba9d060803 Merge branch 'main' into 21782-config 2026-04-15 16:33:56 -07:00
Jeremy Stretch
1af320e0a9 Fixes #21538: Fix annotated count for contacts assigned to multiple contact groups (#21919) 2026-04-15 16:01:19 -05:00
Martin Hauser
c28736e1d6 Fixes #21913: Restore plugin template extension support on declarative-layout detail views (#21928) 2026-04-15 14:29:17 -05:00
Jeremy Stretch
f0fc93d827 Fixes #21683: Fix support for importing port mappings on device/module types (#21921) 2026-04-15 19:45:26 +02:00
Jeremy Stretch
bf9de4721e Closes #20881: get_filterset_for_model() should reference application registry (#21922) 2026-04-15 19:36:33 +02:00
Jeremy Stretch
bce667300a Fixes #21737: Check that uploaded custom scripts are valid Python modules before saving (#21920) 2026-04-15 10:16:58 -07:00
Sergio López
660ca42149 Closes #21875: Allow subclasses of dict for API_TOKEN_PEPPERS 2026-04-14 16:59:49 -04:00
Jeremy Stretch
539448683c Release v4.6.0-beta1 (#21910)
* Draft v4.6 release notes

* Revert django-tables2 upgrade

* Correct release notes

* Release v4.6.0-beta1

* Fix typo
v4.6.0-beta1
2026-04-14 10:09:06 -04:00
Jeremy Stretch
e208a28137 Merge branch 'main' into feature 2026-04-14 08:48:22 -04:00
Jeremy Stretch
75e1b86613 Release v4.5.8 (#21903)
* Release v4.5.8
* Limit django-tables2 to <v2.9
v4.5.8
2026-04-14 08:39:16 -04:00
github-actions
e12334c01b Update source translation strings 2026-04-14 05:39:35 +00:00
Arthur
2fde9db66e #21782 - Enable optional config template selection on Device 2026-04-13 15:41:42 -07:00