mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Closes #4807: Add bulk edit ability for device bay templates
This commit is contained in:
@ -18,6 +18,7 @@ NetBox v2.9 replaces Django's built-in permissions framework with one that suppo
|
||||
* [#4792](https://github.com/netbox-community/netbox/issues/4792) - Add bulk rename capability for console and power ports
|
||||
* [#4793](https://github.com/netbox-community/netbox/issues/4793) - Add `description` field to device component templates
|
||||
* [#4795](https://github.com/netbox-community/netbox/issues/4795) - Add bulk disconnect capability for console and power ports
|
||||
* [#4807](https://github.com/netbox-community/netbox/issues/4807) - Add bulk edit ability for device bay templates
|
||||
|
||||
### Configuration Changes
|
||||
|
||||
|
@ -1486,15 +1486,17 @@ class DeviceBayTemplateCreateForm(ComponentTemplateCreateForm):
|
||||
)
|
||||
|
||||
|
||||
# TODO: DeviceBayTemplate has no fields suitable for bulk-editing yet
|
||||
# class DeviceBayTemplateBulkEditForm(BootstrapMixin, BulkEditForm):
|
||||
# pk = forms.ModelMultipleChoiceField(
|
||||
# queryset=FrontPortTemplate.objects.all(),
|
||||
# widget=forms.MultipleHiddenInput()
|
||||
# )
|
||||
#
|
||||
# class Meta:
|
||||
# nullable_fields = ()
|
||||
class DeviceBayTemplateBulkEditForm(BootstrapMixin, BulkEditForm):
|
||||
pk = forms.ModelMultipleChoiceField(
|
||||
queryset=DeviceBayTemplate.objects.all(),
|
||||
widget=forms.MultipleHiddenInput()
|
||||
)
|
||||
description = forms.CharField(
|
||||
required=False
|
||||
)
|
||||
|
||||
class Meta:
|
||||
nullable_fields = ('description',)
|
||||
|
||||
|
||||
#
|
||||
|
@ -813,14 +813,7 @@ class RearPortTemplateTestCase(ViewTestCases.DeviceComponentTemplateViewTestCase
|
||||
}
|
||||
|
||||
|
||||
# TODO: Change base class to DeviceComponentTemplateViewTestCase
|
||||
# Blocked by absence of bulk edit view for DeviceBays
|
||||
class DeviceBayTemplateTestCase(
|
||||
ViewTestCases.EditObjectViewTestCase,
|
||||
ViewTestCases.DeleteObjectViewTestCase,
|
||||
ViewTestCases.BulkCreateObjectsViewTestCase,
|
||||
ViewTestCases.BulkDeleteObjectsViewTestCase
|
||||
):
|
||||
class DeviceBayTemplateTestCase(ViewTestCases.DeviceComponentTemplateViewTestCase):
|
||||
model = DeviceBayTemplate
|
||||
|
||||
@classmethod
|
||||
@ -848,6 +841,10 @@ class DeviceBayTemplateTestCase(
|
||||
'name_pattern': 'Device Bay Template [4-6]',
|
||||
}
|
||||
|
||||
cls.bulk_edit_data = {
|
||||
'description': 'Foo bar',
|
||||
}
|
||||
|
||||
|
||||
class DeviceRoleTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
|
||||
model = DeviceRole
|
||||
|
@ -142,7 +142,7 @@ urlpatterns = [
|
||||
|
||||
# Device bay templates
|
||||
path('device-bay-templates/add/', views.DeviceBayTemplateCreateView.as_view(), name='devicebaytemplate_add'),
|
||||
# path('device-bay-templates/edit/', views.DeviceBayTemplateBulkEditView.as_view(), name='devicebaytemplate_bulk_edit'),
|
||||
path('device-bay-templates/edit/', views.DeviceBayTemplateBulkEditView.as_view(), name='devicebaytemplate_bulk_edit'),
|
||||
path('device-bay-templates/delete/', views.DeviceBayTemplateBulkDeleteView.as_view(), name='devicebaytemplate_bulk_delete'),
|
||||
path('device-bay-templates/<int:pk>/edit/', views.DeviceBayTemplateEditView.as_view(), name='devicebaytemplate_edit'),
|
||||
path('device-bay-templates/<int:pk>/delete/', views.DeviceBayTemplateDeleteView.as_view(), name='devicebaytemplate_delete'),
|
||||
|
@ -867,10 +867,10 @@ class DeviceBayTemplateDeleteView(ObjectDeleteView):
|
||||
queryset = DeviceBayTemplate.objects.all()
|
||||
|
||||
|
||||
# class DeviceBayTemplateBulkEditView(BulkEditView):
|
||||
# queryset = DeviceBayTemplate.objects.all()
|
||||
# table = tables.DeviceBayTemplateTable
|
||||
# form = forms.DeviceBayTemplateBulkEditForm
|
||||
class DeviceBayTemplateBulkEditView(BulkEditView):
|
||||
queryset = DeviceBayTemplate.objects.all()
|
||||
table = tables.DeviceBayTemplateTable
|
||||
form = forms.DeviceBayTemplateBulkEditForm
|
||||
|
||||
|
||||
class DeviceBayTemplateBulkDeleteView(BulkDeleteView):
|
||||
|
@ -173,7 +173,7 @@
|
||||
{% if devicetype.is_parent_device or devicebay_table.rows %}
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
{% include 'dcim/inc/devicetype_component_table.html' with table=devicebay_table title='Device Bays' add_url='dcim:devicebaytemplate_add' edit_url=None delete_url='dcim:devicebaytemplate_bulk_delete' %}
|
||||
{% include 'dcim/inc/devicetype_component_table.html' with table=devicebay_table title='Device Bays' add_url='dcim:devicebaytemplate_add' edit_url='dcim:devicebaytemplate_bulk_edit' delete_url='dcim:devicebaytemplate_bulk_delete' %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
Reference in New Issue
Block a user