Update prefix creation URLs to pass `scope_type` and `scope` (replacing
the legacy `site` query parameter) for both the Child Prefixes
"Add Prefix" button and in-table available-prefix links.
Scope parameters are only rendered when a scope is defined, so
unscoped prefixes remain unchanged.
Fixes#21262
Introduces support for `owner_group` in various filter forms, improving
ownership granularity.
Updates DynamicModel fields to handle relationships
between `owner_group` and `owner` effectively.
Fixes#21081
* feat(ipam): Add ASDOT notation support for ASN ranges
Introduces ASDOT notation for ASN Ranges to improve readability of large
AS numbers. Adds `start_asdot` and `end_asdot` properties, columns, and
display logic for ASN ranges in the UI.
Fixes#20309
* Wrap "ASDOT" with parentheses in column header
---------
Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
Introduce `ranges_to_string_list` for converting numeric ranges into a
list of readable strings. Update the `vid_ranges_list` property and
templates to use this method for better readability and maintainability.
Add related tests to ensure functionality.
Closes#20516
* Closes: #18588: Relabel Service model to Application Service
Updates the `verbose_name` of the `Service` and `ServiceTemplate` models to "Application Service" and
"Application Service Template" respectively. This serves as the foundational change for relabeling
the model throughout the user interface to reduce ambiguity.
To preserve backward compatibility for the REST and GraphQL APIs, the test suites have been updated
to assert the stability of the original field and parameter names. This includes:
* Using `filter_name_map` in the filterset test case to ensure API query parameters remain
`service` and `service_id`.
* Employing the GraphQL test suite's aliasing mechanism to ensure the public schema remains
unchanged despite the underlying `verbose_name` modification.
Subsequent commits will address UI-specific labels in navigation, tables, forms, and templates.
* Rename to Application Services/Application Service Templates in nav menu
* Rename ~service to ~'Application Service' in templates
This was done for both the Service model and Service Template model
appearances in templates where the word was hardcoded.
* Change ~service to ~'application service' hardcoded strings in Python files
* Update ~service to ~'application service' in docs
* 18296 add tenant to vlan groups
* 18296 add tenant to vlan groups
* 18296 add tenant to vlan groups
* 18296 add tenant to vlan groups
* 18296 review changes
* Use table_htmx.html for assigning ipaddresses
* Add disable_htmx property on ObjectChildrenView to allow IP assignment flow to avoid htmx fragmentary rendering on object save
* Revert "Add disable_htmx property on ObjectChildrenView to allow IP assignment flow to avoid htmx fragmentary rendering on object save"
This reverts commit fa8f2ac377.
* VLANTranslationPolicy and VLANTranslationRule models and all associated UI classes
* Change VLANTranslationPolicy to a PrimaryModel and make name unique
* Add serializer classes to InterfaceSerializer
* Remake migrations
* Add GraphQL typing
* Skip tagged models in test
* Missing migration
* Remove get_absolute_url methods
* Remove package-lock.json
* Rebuild migration and add constraints and field options
* Rebuild migrations
* Use DynamicModelChoiceField for policy field
* Make vlan_translation_policy fields on filtersets more consistent with existing __name convention
* Add vlan_translation_table to VMInterface detail page
* Add vlan_translation_policy to VMInterfaceSerializer
* Move vlan_translation_policy fields to model and filterset mixins
* Protect in-use policies against deletion
* Add vlan_translation_policy to fields in VMInterfaceSerializer
* Cleanup indentation
* Remove unnecessary ordering column
* Rebuild migrations
* Search methods and registration
* Ensure 'id' column is present by default
* Add graphql types/filters/schema for VLANTranslationRule
* Filterset tests
* View tests
* API and viewset tests (incomplete)
* Add tags to VLANTranslationRuleForm
* Complete viewset tests for VLANTranslationRule
* Make VLANTranslationRule.policy nullable (but still required)
* Revert "Make VLANTranslationRule.policy nullable (but still required)"
This reverts commit 4c1bb437ef.
* Revert nullability
* Explicitly prefetch policy in graphql
* Documentation of new and affected models
* Add note about select_related in graphql
* Rework policy/rule documentation
* Move vlan_translation_policy into 802.1Q Switching fieldset
* Remove redundant InterfaceVLANTranslationTable
* Conditionally include vlan_translation_table in interface.html and vminterface.html
* Add description field to VLANTranslationRule
* Define vlan_translation_table conditionally
* Add policy (name) filter to VLANTranslationRuleFilterSet
* Revert changes to adding-models.md (moved to another PR)
* Dynamic table for linked rules in vlantranslationpolicy.html
* Misc cleanup
---------
Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
* Replace site FK on Prefix with scope GFK
* Add denormalized relations
* Update prefix filters
* Add generic relations for Prefix
* Update GraphQL type for Prefix model
* Fix tests; misc cleanup
* Remove prefix_count from SiteSerializer
* Remove site field from PrefixBulkEditForm
* Restore scope filters for prefixes
* Fix scope population on PrefixForm init
* Show scope type
* Assign scope during bulk import of prefixes
* Correct handling of GenericForeignKey in PrefixForm
* Add prefix counts to all scoped objects
* Fix migration; linter fix
* Add limit_choices_to on scope_type
* Clean up cache_related_objects()
* Enable bulk editing prefix scope
* 16649 general contrast issues (#16759)
* fixes#16647: navigation contrast issues updated
* fixes#16651: table contrast issues new
* fixed#16649: general contrast issues
* fixes#16649: feedback changes
---------
Co-authored-by: Andrew Gormley <Andrew@MacBook-Pro-3.local>
Co-authored-by: Andrew Gormley <Andrew@MacBook-Pro-3.broadband>
* 16648 dashboard contrast issues (#16824)
* fixed#16648: dashboard contrast issues
* reinstate amendment to 16649
* fixed#16648: created gridstack override and removed inline bug fix
---------
Co-authored-by: Andrew Gormley <Andrew@MacBook-Pro-3.local>
* fixed#16853: accessibility issues
* fixed#16847: updated font (#16848)
* fixed#16847: updated font
* fixed#16847: changed font to local and added current font as fallback
* fixed#16847: removed inter and added padding to page header
---------
Co-authored-by: Andrew Gormley <Andrew@MacBook-Pro-3.local>
Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
* 16849 document hierarchy issues (#16875)
* fixed#16849: h elements not in sequential order
* fixed#16849: Lists do not contain only li elements
* fixed#16849: fixed h hierarchy on rack object pages
* Remove standalone h5 classes
* Remove unnecessary line breaks
---------
Co-authored-by: Andrew Gormley <Andrew@MacBook-Pro-3.local>
Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
* 16650 button contrast issues (#16845)
* fixed#16650: button contrast issues
* fixed#16650: green bg text contrast issue
* Revert errant JS resource updates
* Revert custom button colors
* Fix indentation
---------
Co-authored-by: Andrew Gormley <Andrew@MacBook-Pro-3.local>
Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
* 16907 web UI refresh (#16915)
* closes#16907: web ui refresh
* closes#16907: changed default widget color to primary color
* closes#16907: removed comma
* Revert dashboard widget color changes
* Rename logo images for consistency
* Restore original dashboard widget config
* Remove .navbar-brand-autodark from logo
* Restore logo file names
---------
Co-authored-by: Andrew Gormley <Andrew@MacBook-Pro-3.local>
Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
* 16394 distinguish product edition (#16924)
* closes#16907: web ui refresh
* closes#16907: changed default widget color to primary color
* closes#16907: removed comma
* closes#16394: distinguish product edition
* Revert dashboard changes
* Clean up redundant styling (merge error)
* removed labs logo and added sub text for all editions
* fixed motif bug
* Fix "flashing" of side nav under dark mode
* Use title case for edition label
* altered edition text style
---------
Co-authored-by: Andrew Gormley <Andrew@MacBook-Pro-3.local>
Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
* Query release features to toggle commercial theme
* fixes dark mode primary button contrast issue
* fixes#16913: hidden admin nav link (#16978)
Co-authored-by: Andrew Gormley <Andrew@MacBook-Pro-3.local>
Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
* fixed 16852: misc accessbility problems (#16977)
* fixed 16852: misc accessbility problems
* Restore tooltip text
* Add translation support
* Add missing i18n
---------
Co-authored-by: Andrew Gormley <Andrew@MacBook-Pro-3.local>
Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
* fixes issues in #16850 (#16986)
* fixes issues in #16850: issue 3 and 5
* Add link text for 'clear' button on table column
* Translate aria label
---------
Co-authored-by: Andrew Gormley <Andrew@MacBook-Pro-3.local>
Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
* Use alternate footer links for commercial releases
* Remove Inter font
* Adjust base font weight to 500
* Retain default text color for hyperlinks inside tables
* Logo & edition cleanup
* Move dashboard styling
* Misc cleanup
* Remove unused styles
* Misc cleanup & refactoring
---------
Co-authored-by: Andrew Gormley <andrewgormley91@gmail.com>
Co-authored-by: Andrew Gormley <Andrew@MacBook-Pro-3.local>
Co-authored-by: Andrew Gormley <Andrew@MacBook-Pro-3.broadband>
* Introduce the isodate(), isotime(), and isodatetime() template filters
* Display the relative time on mouse hover
* Render journal entry times in ISO 8601 format
* Use ISO 8601 format when displaying dates & times in a table
* Standardize the use of DateTimeColumn across all tables
Clean up spacing for nav pills
Markdown fields should default to using monospace font
Wrap action buttons in object page header
Fix page link style for non-HTMX paginators
Clean up styling of Markdown preview widget
Fix spacing around placeholder text for empty panel tables
Remove obsolete templates
Tweak checkbox input spacing
Fix toggling of clear button for quick search
Fix positioning of quick search filter dropdown
Fix positioning of 'highlight device' button
Fix styling for custom field group names
Widen buttons on nav menu items
Restyle the login page
Fix active nav-pill background color in dark mode
Fix spacing around 'map' button for sites
* Remove dark mode styling
* Condense & rename light mode stylesheet
* Upgrade to Bootstrap 5.3.2
* Swap out Bootstrap for Tabler; remove custom styling
* Update base page layout for Tabler
* Update login page
* Bump node to v18
* Update button styles
* Update object list view
* Tweak navbar size
* Clean up dashboard widgets
* Ditch separate stylesheet for print media
* Remove simplebar
* Remove obsolete sidebar styling
* Clean up object view template
* Clean up object edit template
* Standardize primary button sizing
* Clean up object list styling
* Add buttons for add & import to navigation menu
* Fix global search bar
* Fix slim-select form widget styling
* Fix toast styling
* Set base fonts
* Clean up paginator styling
* Clean up navigation menu group headings
* Clean up footer links
* Clean up card styles
* Move SVG styles to a designated directory
* Restructure SCSS files
* Remove obsolete/redundant dependencies
* Fix icon spacing
* Update background color classes
* Tweak banner & footer styling and spacing
* Fix badge background colors in table content
* Bump @types/bootstrap to 5.2.10
* Clean up form layouts
* Fix object selector button style
* Fix icon padding inside small buttons
* Fix icon & badge spacing inside buttons and tabs
* Hide paginator for empty pages
* Fix hover color for list items (Tabler bug #1694)
* Fix width of checkbox column in empty tables
* Clean up bulk edit template
* Fix border color of reslug button
* Package & serve Google fonts locally
* Fix tab styling
* Reduce vetical space at top of dashboard
* Remove obsolete content-wrapper template block
* Fix icon spacing in dropdown menu items
* Fix color label sizing
* Separate bulk delete form & object list into tabs
* Fix styling of filter group headings
* Fix styling for object changelog & journal views
* Standardize ordering & styling of action buttons
* Fix designation of active menu item
* Automatically expand menu section containing the active link
* Clean up nav menu styling
* Remove button colors; hide buttons except on hover/active
* Highlight menu group containing the active item
* Update & standardize alert styling
* Refactor base templates to ensure consistent display of header content
* Tweak styling for links inside badges
* Clean up top menu
* Fix JSON/YAML toggles for config context data
* Fix object template header
* Constrain tabs to container-xl; tweak header margins
* Fix object identifier styling
* Fix positioning of card header buttons
* Remove padding from HTMX tables inside cards
* Ensure consistent use of row headings in attribute tables
* Remove padding surrounding tables inside cards
* Remove obsolete CSS classes
* Misc cleanup of old styling
* Refactor 'controls' template block; ditch old classes
* Fix login button sizing
* Limit object edit form width
* Append asterisk to required form field labels
* Remove obsolete styling
* Remove obsolete styling
* Fix position of progress bar outside label
* Fix alignment of delete button in report/script lists
* Fix <pre> styling
* Clean up page headers
* Replace SVG icons with Material Design icons
* Restore dark mode togle functionality
* Fix top navbar background color under dark mode
* Rebuild static assets
* initial work to render hierarchical region #13735
* adds site display #13735
* cleanup #13735
* adds display region tag #13735
* refactored region hierarchy #13735
* refactored region hierarchy #13735
* renamed display_region to nested_tree #13735
* Make render_tree suitable for generic use
* Remove errant item from __all__
---------
Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
* Move L2VPN and L2VPNTermination models from ipam to vpn
* Move L2VPN resources from ipam to vpn
* Extend migration to update content types
* Misc cleanup