* Hide traceback from rendered device config
When an exception occurs during device configuration rendering, it
usually doesn't contain information about the template being rendered,
but rather the trace of how the template was rendered. Since this could
confuse users and expose internal server information, it is now hidden.
* Improve error message display; replicate changes for VMs
---------
Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
* Extend register_model_view() to enable registering list views
* Register circuits list views with register_model_view()
* Register core list views with register_model_view()
* Fix bulk_edit & bulk_delete URL paths
* Register dcim list views with register_model_view() (WIP)
* Register dcim list views with register_model_view()
* Register extras list views with register_model_view()
* Register ipam list views with register_model_view()
* Register tenancy list views with register_model_view()
* Register users list views with register_model_view()
* Register virtualization list views with register_model_view()
* Register vpn list views with register_model_view()
* Register wireless list views with register_model_view()
* Add change note for register_model_view()
* 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 4c1bb437ef1a0a3593e5fbb87f08a0f158ea8c47.
* 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>
* Closes#15794: Make "related objects" dynamic
Instead of hardcoding relationships between models for the detail view,
they are now dynamically generated.
* Fix related models call
* Remove extra related models hook
Instead of providing a rarely used hook method, additional related
models can now be passed directly to the lookup method.
* Fix relations view for ASNs
ASNs have ManyToMany relationships and therefore can't used automatic
resolving. Explicit relations have been restored as before.
* Add method call keywords for clarification
* Cleanup related models
---------
Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
* 8356 add virtual disk model
* 8356 add supplemental forms
* 8356 add menu
* 8356 cleanup views
* 8356 virtual machine tab
* 8356 migrations
* 8356 vm disk tables
* 8356 cleanup
* 8356 graphql
* 8356 graphql
* 8356 add components button
* 8356 bulk add on virtualmachine
* 8356 bulk add fixes
* 8356 api tests
* 8356 news tests add rename
* 8356 VirtualDiskCreateForm
* 8356 fix test
* 8356 add todo to remove disk from vm
* 8356 review changes
* 8356 fix test
* 8356 deprecate disk field
* 8356 review changes
* 8356 fix test
* 8356 fix test
* Simplify view actions
* 8356 review changes
* 8356 split trans tag
* 8356 add total virtual disk size to api
* 8356 add virtual disk list to virtual machine detail view
* 8356 move virtual disk size to property
* 8356 revert property
* Tweak display of deprecated disk field
* 8356 render single disk field
* 8356 update serializer
* 8356 model property
* 8356 fix test
* 8356 review changes
* Revert disk space annotation
* Use existing disk field to store aggregate virtual disk size
* Introduce abstract ComponentModel for VM components
* Add search index for VirtualDisk
* Misc cleanup
---------
Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
* Closes#12135: Prevent the deletion of interfaces with children
* Change PROTECT to RESTRICT
* Extend handle_protectederror() to also handle RestrictedError
* Fix string translation
* Update migrations
* Support bulk removal of parent interfaces via UI if all children are included
* Add support for the bulk deletion of restricted objects via REST API
* adds config template to vm model #12461
* Add translation tags; collapse config data
* i18n cleanup
* Establish parity with DeviceRenderConfigView
* Move config_template field to RenderConfigMixin
---------
Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
* Initial work on #10247
* Continued work on #10247
* Clean up component creation tests
* Move valdiation of replicated field to form
* Clean up ordering of fields in component creation forms
* Omit fieldset header if none
* Clean up ordering of fields in component template creation forms
* View tests should not move component templates to new device type
* Define replication_fields on VMInterfaceCreateForm
* Clean up expandable field help texts
* Update comments
* Update component bulk update forms & views to support new replication fields
* Fix ModularDeviceComponentForm parent class
* Fix bulk creation of VM interfaces (thanks @kkthxbye-code!)