Просмотр исходного кода

#18990: Add bulk edit & bulk delete support for image attachments

Jeremy Stretch 6 месяцев назад
Родитель
Сommit
cdeec73d95
2 измененных файлов с 31 добавлено и 3 удалено
  1. 13 0
      netbox/extras/forms/bulk_edit.py
  2. 18 3
      netbox/extras/views.py

+ 13 - 0
netbox/extras/forms/bulk_edit.py

@@ -20,6 +20,7 @@ __all__ = (
     'CustomLinkBulkEditForm',
     'EventRuleBulkEditForm',
     'ExportTemplateBulkEditForm',
+    'ImageAttachmentBulkEditForm',
     'JournalEntryBulkEditForm',
     'NotificationGroupBulkEditForm',
     'SavedFilterBulkEditForm',
@@ -401,6 +402,18 @@ class ConfigTemplateBulkEditForm(ChangelogMessageMixin, BulkEditForm):
     nullable_fields = ('description', 'mime_type', 'file_name', 'file_extension')
 
 
+class ImageAttachmentBulkEditForm(ChangelogMessageMixin, BulkEditForm):
+    pk = forms.ModelMultipleChoiceField(
+        queryset=ImageAttachment.objects.all(),
+        widget=forms.MultipleHiddenInput
+    )
+    description = forms.CharField(
+        label=_('Description'),
+        max_length=200,
+        required=False
+    )
+
+
 class JournalEntryBulkEditForm(ChangelogMessageMixin, BulkEditForm):
     pk = forms.ModelMultipleChoiceField(
         queryset=JournalEntry.objects.all(),

+ 18 - 3
netbox/extras/views.py

@@ -1098,7 +1098,7 @@ class ImageAttachmentListView(generic.ObjectListView):
     filterset = filtersets.ImageAttachmentFilterSet
     filterset_form = forms.ImageAttachmentFilterForm
     table = tables.ImageAttachmentTable
-    actions = (BulkRename, BulkExport)
+    actions = (BulkExport, BulkEdit, BulkRename, BulkDelete)
 
 
 @register_model_view(ImageAttachment)
@@ -1126,14 +1126,29 @@ class ImageAttachmentEditView(generic.ObjectEditView):
         }
 
 
+@register_model_view(ImageAttachment, 'delete')
+class ImageAttachmentDeleteView(generic.ObjectDeleteView):
+    queryset = ImageAttachment.objects.all()
+
+
+@register_model_view(ImageAttachment, 'bulk_edit', path='edit', detail=False)
+class ImageAttachmentBulkEditView(generic.BulkEditView):
+    queryset = ImageAttachment.objects.all()
+    filterset = filtersets.ImageAttachmentFilterSet
+    table = tables.ImageAttachmentTable
+    form = forms.ImageAttachmentBulkEditForm
+
+
 @register_model_view(ImageAttachment, 'bulk_rename', path='rename', detail=False)
 class ImageAttachmentBulkRenameView(generic.BulkRenameView):
     queryset = ImageAttachment.objects.all()
 
 
-@register_model_view(ImageAttachment, 'delete')
-class ImageAttachmentDeleteView(generic.ObjectDeleteView):
+@register_model_view(ImageAttachment, 'bulk_delete', path='delete', detail=False)
+class ImageAttachmentBulkDeleteView(generic.BulkDeleteView):
     queryset = ImageAttachment.objects.all()
+    filterset = filtersets.ImageAttachmentFilterSet
+    table = tables.ImageAttachmentTable
 
 
 #