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

Closes #3183: Enable bulk deletion of sites

Jeremy Stretch 6 лет назад
Родитель
Сommit
9b47e57e8e
4 измененных файлов с 13 добавлено и 3 удалено
  1. 3 2
      CHANGELOG.md
  2. 1 0
      netbox/dcim/urls.py
  3. 8 0
      netbox/dcim/views.py
  4. 1 1
      netbox/templates/dcim/site_list.html

+ 3 - 2
CHANGELOG.md

@@ -3,14 +3,15 @@
 ## Enhancements
 
 * [#2813](https://github.com/digitalocean/netbox/issues/2813) - Add tenant group filters
-* [#3150](https://github.com/digitalocean/netbox/issues/3150) - Fix formatting of cable length during cable trace
 * [#3085](https://github.com/digitalocean/netbox/issues/3085) - Catch all exceptions during export template rendering
+* [#3183](https://github.com/digitalocean/netbox/issues/3183) - Enable bulk deletion of sites
 * [#3186](https://github.com/digitalocean/netbox/issues/3186) - Add interface name filter for IP addresses
-* [#3190](https://github.com/digitalocean/netbox/issues/3190) - Fix custom field rendering for Jinja2 export templates
 
 ## Bug Fixes
 
 * [#3132](https://github.com/digitalocean/netbox/issues/3132) - Circuit termination missing from available cable termination types
+* [#3150](https://github.com/digitalocean/netbox/issues/3150) - Fix formatting of cable length during cable trace
+* [#3190](https://github.com/digitalocean/netbox/issues/3190) - Fix custom field rendering for Jinja2 export templates
 
 ---
 

+ 1 - 0
netbox/dcim/urls.py

@@ -25,6 +25,7 @@ urlpatterns = [
     url(r'^sites/add/$', views.SiteCreateView.as_view(), name='site_add'),
     url(r'^sites/import/$', views.SiteBulkImportView.as_view(), name='site_import'),
     url(r'^sites/edit/$', views.SiteBulkEditView.as_view(), name='site_bulk_edit'),
+    url(r'^sites/delete/$', views.SiteBulkDeleteView.as_view(), name='site_bulk_delete'),
     url(r'^sites/(?P<slug>[\w-]+)/$', views.SiteView.as_view(), name='site'),
     url(r'^sites/(?P<slug>[\w-]+)/edit/$', views.SiteEditView.as_view(), name='site_edit'),
     url(r'^sites/(?P<slug>[\w-]+)/delete/$', views.SiteDeleteView.as_view(), name='site_delete'),

+ 8 - 0
netbox/dcim/views.py

@@ -247,6 +247,14 @@ class SiteBulkEditView(PermissionRequiredMixin, BulkEditView):
     default_return_url = 'dcim:site_list'
 
 
+class SiteBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
+    permission_required = 'dcim.delete_site'
+    queryset = Site.objects.select_related('region', 'tenant')
+    filter = filters.SiteFilter
+    table = tables.SiteTable
+    default_return_url = 'dcim:site_list'
+
+
 #
 # Rack groups
 #

+ 1 - 1
netbox/templates/dcim/site_list.html

@@ -12,7 +12,7 @@
 <h1>{% block title %}Sites{% endblock %}</h1>
 <div class="row">
 	<div class="col-md-9">
-        {% include 'utilities/obj_table.html' with bulk_edit_url='dcim:site_bulk_edit' %}
+        {% include 'utilities/obj_table.html' with bulk_edit_url='dcim:site_bulk_edit' bulk_delete_url='dcim:site_bulk_delete' %}
     </div>
     <div class="col-md-3 noprint">
 		{% include 'inc/search_panel.html' %}