1
0
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:
Jeremy Stretch
2020-06-30 15:22:30 -04:00
parent 52a13b1960
commit 88e3ac30b6
6 changed files with 23 additions and 23 deletions

View File

@ -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 * [#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 * [#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 * [#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 ### Configuration Changes

View File

@ -1486,15 +1486,17 @@ class DeviceBayTemplateCreateForm(ComponentTemplateCreateForm):
) )
# TODO: DeviceBayTemplate has no fields suitable for bulk-editing yet class DeviceBayTemplateBulkEditForm(BootstrapMixin, BulkEditForm):
# class DeviceBayTemplateBulkEditForm(BootstrapMixin, BulkEditForm): pk = forms.ModelMultipleChoiceField(
# pk = forms.ModelMultipleChoiceField( queryset=DeviceBayTemplate.objects.all(),
# queryset=FrontPortTemplate.objects.all(), widget=forms.MultipleHiddenInput()
# widget=forms.MultipleHiddenInput() )
# ) description = forms.CharField(
# required=False
# class Meta: )
# nullable_fields = ()
class Meta:
nullable_fields = ('description',)
# #

View File

@ -813,14 +813,7 @@ class RearPortTemplateTestCase(ViewTestCases.DeviceComponentTemplateViewTestCase
} }
# TODO: Change base class to DeviceComponentTemplateViewTestCase class DeviceBayTemplateTestCase(ViewTestCases.DeviceComponentTemplateViewTestCase):
# Blocked by absence of bulk edit view for DeviceBays
class DeviceBayTemplateTestCase(
ViewTestCases.EditObjectViewTestCase,
ViewTestCases.DeleteObjectViewTestCase,
ViewTestCases.BulkCreateObjectsViewTestCase,
ViewTestCases.BulkDeleteObjectsViewTestCase
):
model = DeviceBayTemplate model = DeviceBayTemplate
@classmethod @classmethod
@ -848,6 +841,10 @@ class DeviceBayTemplateTestCase(
'name_pattern': 'Device Bay Template [4-6]', 'name_pattern': 'Device Bay Template [4-6]',
} }
cls.bulk_edit_data = {
'description': 'Foo bar',
}
class DeviceRoleTestCase(ViewTestCases.OrganizationalObjectViewTestCase): class DeviceRoleTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
model = DeviceRole model = DeviceRole

View File

@ -142,7 +142,7 @@ urlpatterns = [
# Device bay templates # Device bay templates
path('device-bay-templates/add/', views.DeviceBayTemplateCreateView.as_view(), name='devicebaytemplate_add'), 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/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>/edit/', views.DeviceBayTemplateEditView.as_view(), name='devicebaytemplate_edit'),
path('device-bay-templates/<int:pk>/delete/', views.DeviceBayTemplateDeleteView.as_view(), name='devicebaytemplate_delete'), path('device-bay-templates/<int:pk>/delete/', views.DeviceBayTemplateDeleteView.as_view(), name='devicebaytemplate_delete'),

View File

@ -867,10 +867,10 @@ class DeviceBayTemplateDeleteView(ObjectDeleteView):
queryset = DeviceBayTemplate.objects.all() queryset = DeviceBayTemplate.objects.all()
# class DeviceBayTemplateBulkEditView(BulkEditView): class DeviceBayTemplateBulkEditView(BulkEditView):
# queryset = DeviceBayTemplate.objects.all() queryset = DeviceBayTemplate.objects.all()
# table = tables.DeviceBayTemplateTable table = tables.DeviceBayTemplateTable
# form = forms.DeviceBayTemplateBulkEditForm form = forms.DeviceBayTemplateBulkEditForm
class DeviceBayTemplateBulkDeleteView(BulkDeleteView): class DeviceBayTemplateBulkDeleteView(BulkDeleteView):

View File

@ -173,7 +173,7 @@
{% if devicetype.is_parent_device or devicebay_table.rows %} {% if devicetype.is_parent_device or devicebay_table.rows %}
<div class="row"> <div class="row">
<div class="col-md-12"> <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>
</div> </div>
{% endif %} {% endif %}