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.
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
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.
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.
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
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
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>
* 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>