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

This commit is contained in:
Jeremy Stretch 2025-08-12 16:38:01 -04:00
parent 32ee4cf004
commit 6198092047
2 changed files with 31 additions and 3 deletions

View File

@ -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(),

View File

@ -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
#