diff --git a/netbox/core/tables/data.py b/netbox/core/tables/data.py index dcd2478a0..ef9b5c8e2 100644 --- a/netbox/core/tables/data.py +++ b/netbox/core/tables/data.py @@ -37,7 +37,9 @@ class DataFileTable(NetBoxTable): linkify=True ) last_updated = columns.DateTimeColumn() - actions = None + actions = columns.ActionsColumn( + actions=('delete',) + ) class Meta(NetBoxTable.Meta): model = DataFile diff --git a/netbox/core/urls.py b/netbox/core/urls.py index ae9eae9cf..128020890 100644 --- a/netbox/core/urls.py +++ b/netbox/core/urls.py @@ -16,6 +16,7 @@ urlpatterns = ( # Data files path('data-files/', views.DataFileListView.as_view(), name='datafile_list'), + path('data-files/delete/', views.DataFileBulkDeleteView.as_view(), name='datafile_bulk_delete'), path('data-files//', include(get_model_urls('core', 'datafile'))), ) diff --git a/netbox/core/views.py b/netbox/core/views.py index ec398938f..63905228e 100644 --- a/netbox/core/views.py +++ b/netbox/core/views.py @@ -99,9 +99,20 @@ class DataFileListView(generic.ObjectListView): filterset = filtersets.DataFileFilterSet filterset_form = forms.DataFileFilterForm table = tables.DataFileTable - actions = ('edit',) + actions = ('bulk_delete',) @register_model_view(DataFile) class DataFileView(generic.ObjectView): queryset = DataFile.objects.all() + + +@register_model_view(DataFile, 'delete') +class DataFileDeleteView(generic.ObjectDeleteView): + queryset = DataFile.objects.all() + + +class DataFileBulkDeleteView(generic.BulkDeleteView): + queryset = DataFile.objects.defer('data') + filterset = filtersets.DataFileFilterSet + table = tables.DataFileTable diff --git a/netbox/templates/core/datafile.html b/netbox/templates/core/datafile.html index 0e301ad66..a10f5039d 100644 --- a/netbox/templates/core/datafile.html +++ b/netbox/templates/core/datafile.html @@ -1,6 +1,8 @@ {% extends 'generic/object.html' %} +{% load buttons %} {% load custom_links %} {% load helpers %} +{% load perms %} {% load plugins %} {% block breadcrumbs %} @@ -9,11 +11,13 @@ {% endblock %} {% block controls %} - {# Clone/Edit/Delete Buttons #}
{% plugin_buttons object %}
+ {% if request.user|can_delete:object %} + {% delete_button object %} + {% endif %}
{% custom_links object %}