Closes #4795: Add bulk disconnect capability for console and power ports
This commit is contained in:
@@ -6,7 +6,7 @@ from django.contrib.contenttypes.models import ContentType
|
||||
from django.core.paginator import EmptyPage, PageNotAnInteger
|
||||
from django.db import transaction
|
||||
from django.db.models import Count, F
|
||||
from django.forms import modelformset_factory
|
||||
from django.forms import ModelMultipleChoiceField, MultipleHiddenInput, modelformset_factory
|
||||
from django.shortcuts import get_object_or_404, redirect, render
|
||||
from django.urls import reverse
|
||||
from django.utils.html import escape
|
||||
@@ -46,9 +46,20 @@ class BulkDisconnectView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View)
|
||||
An extendable view for disconnection console/power/interface components in bulk.
|
||||
"""
|
||||
queryset = None
|
||||
form = None
|
||||
template_name = 'dcim/bulk_disconnect.html'
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
# Create a new Form class from ConfirmationForm
|
||||
class _Form(ConfirmationForm):
|
||||
pk = ModelMultipleChoiceField(
|
||||
queryset=self.queryset,
|
||||
widget=MultipleHiddenInput()
|
||||
)
|
||||
|
||||
self.form = _Form
|
||||
|
||||
def get_required_permission(self):
|
||||
return get_permission_for_model(self.queryset.model, 'change')
|
||||
|
||||
@@ -1203,6 +1214,10 @@ class ConsolePortBulkRenameView(BulkRenameView):
|
||||
queryset = ConsolePort.objects.all()
|
||||
|
||||
|
||||
class ConsolePortBulkDisconnectView(BulkDisconnectView):
|
||||
queryset = ConsolePort.objects.all()
|
||||
|
||||
|
||||
class ConsolePortBulkDeleteView(BulkDeleteView):
|
||||
queryset = ConsolePort.objects.all()
|
||||
filterset = filters.ConsolePortFilterSet
|
||||
@@ -1262,7 +1277,6 @@ class ConsoleServerPortBulkRenameView(BulkRenameView):
|
||||
|
||||
class ConsoleServerPortBulkDisconnectView(BulkDisconnectView):
|
||||
queryset = ConsoleServerPort.objects.all()
|
||||
form = forms.ConsoleServerPortBulkDisconnectForm
|
||||
|
||||
|
||||
class ConsoleServerPortBulkDeleteView(BulkDeleteView):
|
||||
@@ -1322,6 +1336,10 @@ class PowerPortBulkRenameView(BulkRenameView):
|
||||
queryset = PowerPort.objects.all()
|
||||
|
||||
|
||||
class PowerPortBulkDisconnectView(BulkDisconnectView):
|
||||
queryset = PowerPort.objects.all()
|
||||
|
||||
|
||||
class PowerPortBulkDeleteView(BulkDeleteView):
|
||||
queryset = PowerPort.objects.all()
|
||||
filterset = filters.PowerPortFilterSet
|
||||
@@ -1381,7 +1399,6 @@ class PowerOutletBulkRenameView(BulkRenameView):
|
||||
|
||||
class PowerOutletBulkDisconnectView(BulkDisconnectView):
|
||||
queryset = PowerOutlet.objects.all()
|
||||
form = forms.PowerOutletBulkDisconnectForm
|
||||
|
||||
|
||||
class PowerOutletBulkDeleteView(BulkDeleteView):
|
||||
@@ -1476,7 +1493,6 @@ class InterfaceBulkRenameView(BulkRenameView):
|
||||
|
||||
class InterfaceBulkDisconnectView(BulkDisconnectView):
|
||||
queryset = Interface.objects.all()
|
||||
form = forms.InterfaceBulkDisconnectForm
|
||||
|
||||
|
||||
class InterfaceBulkDeleteView(BulkDeleteView):
|
||||
@@ -1538,7 +1554,6 @@ class FrontPortBulkRenameView(BulkRenameView):
|
||||
|
||||
class FrontPortBulkDisconnectView(BulkDisconnectView):
|
||||
queryset = FrontPort.objects.all()
|
||||
form = forms.FrontPortBulkDisconnectForm
|
||||
|
||||
|
||||
class FrontPortBulkDeleteView(BulkDeleteView):
|
||||
@@ -1600,7 +1615,6 @@ class RearPortBulkRenameView(BulkRenameView):
|
||||
|
||||
class RearPortBulkDisconnectView(BulkDisconnectView):
|
||||
queryset = RearPort.objects.all()
|
||||
form = forms.RearPortBulkDisconnectForm
|
||||
|
||||
|
||||
class RearPortBulkDeleteView(BulkDeleteView):
|
||||
|
Reference in New Issue
Block a user