mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-17 04:32:51 -06:00
Address bulk renaming support for remaining models
This commit is contained in:
parent
5e54115d95
commit
1333b964d9
@ -5,6 +5,7 @@ from django.utils.translation import gettext_lazy as _
|
|||||||
|
|
||||||
from dcim.views import PathTraceView
|
from dcim.views import PathTraceView
|
||||||
from ipam.models import ASN
|
from ipam.models import ASN
|
||||||
|
from netbox.object_actions import AddObject, BulkDelete, BulkEdit, BulkExport, BulkImport
|
||||||
from netbox.views import generic
|
from netbox.views import generic
|
||||||
from utilities.forms import ConfirmationForm
|
from utilities.forms import ConfirmationForm
|
||||||
from utilities.query import count_related
|
from utilities.query import count_related
|
||||||
@ -357,6 +358,12 @@ class CircuitBulkEditView(generic.BulkEditView):
|
|||||||
form = forms.CircuitBulkEditForm
|
form = forms.CircuitBulkEditForm
|
||||||
|
|
||||||
|
|
||||||
|
@register_model_view(Circuit, 'bulk_rename', path='rename', detail=False)
|
||||||
|
class CircuitBulkRenameView(generic.BulkRenameView):
|
||||||
|
queryset = Circuit.objects.all()
|
||||||
|
field_name = 'cid'
|
||||||
|
|
||||||
|
|
||||||
@register_model_view(Circuit, 'bulk_delete', path='delete', detail=False)
|
@register_model_view(Circuit, 'bulk_delete', path='delete', detail=False)
|
||||||
class CircuitBulkDeleteView(generic.BulkDeleteView):
|
class CircuitBulkDeleteView(generic.BulkDeleteView):
|
||||||
queryset = Circuit.objects.prefetch_related(
|
queryset = Circuit.objects.prefetch_related(
|
||||||
@ -452,6 +459,7 @@ class CircuitTerminationListView(generic.ObjectListView):
|
|||||||
filterset = filtersets.CircuitTerminationFilterSet
|
filterset = filtersets.CircuitTerminationFilterSet
|
||||||
filterset_form = forms.CircuitTerminationFilterForm
|
filterset_form = forms.CircuitTerminationFilterForm
|
||||||
table = tables.CircuitTerminationTable
|
table = tables.CircuitTerminationTable
|
||||||
|
actions = (AddObject, BulkImport, BulkExport, BulkEdit, BulkDelete)
|
||||||
|
|
||||||
|
|
||||||
@register_model_view(CircuitTermination)
|
@register_model_view(CircuitTermination)
|
||||||
@ -568,6 +576,7 @@ class CircuitGroupAssignmentListView(generic.ObjectListView):
|
|||||||
filterset = filtersets.CircuitGroupAssignmentFilterSet
|
filterset = filtersets.CircuitGroupAssignmentFilterSet
|
||||||
filterset_form = forms.CircuitGroupAssignmentFilterForm
|
filterset_form = forms.CircuitGroupAssignmentFilterForm
|
||||||
table = tables.CircuitGroupAssignmentTable
|
table = tables.CircuitGroupAssignmentTable
|
||||||
|
actions = (AddObject, BulkImport, BulkExport, BulkEdit, BulkDelete)
|
||||||
|
|
||||||
|
|
||||||
@register_model_view(CircuitGroupAssignment)
|
@register_model_view(CircuitGroupAssignment)
|
||||||
@ -727,6 +736,12 @@ class VirtualCircuitBulkEditView(generic.BulkEditView):
|
|||||||
form = forms.VirtualCircuitBulkEditForm
|
form = forms.VirtualCircuitBulkEditForm
|
||||||
|
|
||||||
|
|
||||||
|
@register_model_view(VirtualCircuit, 'bulk_rename', path='rename', detail=False)
|
||||||
|
class VirtualCircuitulkRenameView(generic.BulkRenameView):
|
||||||
|
queryset = VirtualCircuit.objects.all()
|
||||||
|
field_name = 'cid'
|
||||||
|
|
||||||
|
|
||||||
class VirtualCircuitBulkDeleteView(generic.BulkDeleteView):
|
class VirtualCircuitBulkDeleteView(generic.BulkDeleteView):
|
||||||
queryset = VirtualCircuit.objects.annotate(
|
queryset = VirtualCircuit.objects.annotate(
|
||||||
termination_count=count_related(VirtualCircuitTermination, 'virtual_circuit')
|
termination_count=count_related(VirtualCircuitTermination, 'virtual_circuit')
|
||||||
@ -744,6 +759,7 @@ class VirtualCircuitTerminationListView(generic.ObjectListView):
|
|||||||
filterset = filtersets.VirtualCircuitTerminationFilterSet
|
filterset = filtersets.VirtualCircuitTerminationFilterSet
|
||||||
filterset_form = forms.VirtualCircuitTerminationFilterForm
|
filterset_form = forms.VirtualCircuitTerminationFilterForm
|
||||||
table = tables.VirtualCircuitTerminationTable
|
table = tables.VirtualCircuitTerminationTable
|
||||||
|
actions = (AddObject, BulkImport, BulkExport, BulkEdit, BulkDelete)
|
||||||
|
|
||||||
|
|
||||||
@register_model_view(VirtualCircuitTermination)
|
@register_model_view(VirtualCircuitTermination)
|
||||||
|
@ -756,6 +756,12 @@ class RackTypeBulkEditView(generic.BulkEditView):
|
|||||||
form = forms.RackTypeBulkEditForm
|
form = forms.RackTypeBulkEditForm
|
||||||
|
|
||||||
|
|
||||||
|
@register_model_view(RackType, 'bulk_rename', path='rename', detail=False)
|
||||||
|
class RackTypeBulkRenameView(generic.BulkRenameView):
|
||||||
|
queryset = RackType.objects.all()
|
||||||
|
field_name = 'model'
|
||||||
|
|
||||||
|
|
||||||
@register_model_view(RackType, 'bulk_delete', path='delete', detail=False)
|
@register_model_view(RackType, 'bulk_delete', path='delete', detail=False)
|
||||||
class RackTypeBulkDeleteView(generic.BulkDeleteView):
|
class RackTypeBulkDeleteView(generic.BulkDeleteView):
|
||||||
queryset = RackType.objects.all()
|
queryset = RackType.objects.all()
|
||||||
@ -957,6 +963,7 @@ class RackReservationListView(generic.ObjectListView):
|
|||||||
filterset = filtersets.RackReservationFilterSet
|
filterset = filtersets.RackReservationFilterSet
|
||||||
filterset_form = forms.RackReservationFilterForm
|
filterset_form = forms.RackReservationFilterForm
|
||||||
table = tables.RackReservationTable
|
table = tables.RackReservationTable
|
||||||
|
actions = (AddObject, BulkImport, BulkExport, BulkEdit, BulkDelete)
|
||||||
|
|
||||||
|
|
||||||
@register_model_view(RackReservation)
|
@register_model_view(RackReservation)
|
||||||
@ -1325,6 +1332,12 @@ class DeviceTypeBulkEditView(generic.BulkEditView):
|
|||||||
form = forms.DeviceTypeBulkEditForm
|
form = forms.DeviceTypeBulkEditForm
|
||||||
|
|
||||||
|
|
||||||
|
@register_model_view(DeviceType, 'bulk_rename', path='rename', detail=False)
|
||||||
|
class DeviceTypeBulkRenameView(generic.BulkRenameView):
|
||||||
|
queryset = DeviceType.objects.all()
|
||||||
|
field_name = 'model'
|
||||||
|
|
||||||
|
|
||||||
@register_model_view(DeviceType, 'bulk_delete', path='delete', detail=False)
|
@register_model_view(DeviceType, 'bulk_delete', path='delete', detail=False)
|
||||||
class DeviceTypeBulkDeleteView(generic.BulkDeleteView):
|
class DeviceTypeBulkDeleteView(generic.BulkDeleteView):
|
||||||
queryset = DeviceType.objects.annotate(
|
queryset = DeviceType.objects.annotate(
|
||||||
@ -1596,6 +1609,11 @@ class ModuleTypeBulkEditView(generic.BulkEditView):
|
|||||||
form = forms.ModuleTypeBulkEditForm
|
form = forms.ModuleTypeBulkEditForm
|
||||||
|
|
||||||
|
|
||||||
|
@register_model_view(ModuleType, 'bulk_rename', path='rename', detail=False)
|
||||||
|
class ModuleTypeBulkRenameView(generic.BulkRenameView):
|
||||||
|
queryset = ModuleType.objects.all()
|
||||||
|
|
||||||
|
|
||||||
@register_model_view(ModuleType, 'bulk_delete', path='delete', detail=False)
|
@register_model_view(ModuleType, 'bulk_delete', path='delete', detail=False)
|
||||||
class ModuleTypeBulkDeleteView(generic.BulkDeleteView):
|
class ModuleTypeBulkDeleteView(generic.BulkDeleteView):
|
||||||
queryset = ModuleType.objects.annotate(
|
queryset = ModuleType.objects.annotate(
|
||||||
@ -2448,6 +2466,7 @@ class ModuleListView(generic.ObjectListView):
|
|||||||
filterset = filtersets.ModuleFilterSet
|
filterset = filtersets.ModuleFilterSet
|
||||||
filterset_form = forms.ModuleFilterForm
|
filterset_form = forms.ModuleFilterForm
|
||||||
table = tables.ModuleTable
|
table = tables.ModuleTable
|
||||||
|
actions = (AddObject, BulkImport, BulkExport, BulkEdit, BulkDelete)
|
||||||
|
|
||||||
|
|
||||||
@register_model_view(Module)
|
@register_model_view(Module)
|
||||||
@ -3593,6 +3612,12 @@ class CableBulkEditView(generic.BulkEditView):
|
|||||||
form = forms.CableBulkEditForm
|
form = forms.CableBulkEditForm
|
||||||
|
|
||||||
|
|
||||||
|
@register_model_view(Cable, 'bulk_rename', path='rename', detail=False)
|
||||||
|
class CableBulkRenameView(generic.BulkRenameView):
|
||||||
|
queryset = Cable.objects.all()
|
||||||
|
field_name = 'label'
|
||||||
|
|
||||||
|
|
||||||
@register_model_view(Cable, 'bulk_delete', path='delete', detail=False)
|
@register_model_view(Cable, 'bulk_delete', path='delete', detail=False)
|
||||||
class CableBulkDeleteView(generic.BulkDeleteView):
|
class CableBulkDeleteView(generic.BulkDeleteView):
|
||||||
queryset = Cable.objects.prefetch_related(
|
queryset = Cable.objects.prefetch_related(
|
||||||
@ -4104,6 +4129,7 @@ class MACAddressListView(generic.ObjectListView):
|
|||||||
filterset = filtersets.MACAddressFilterSet
|
filterset = filtersets.MACAddressFilterSet
|
||||||
filterset_form = forms.MACAddressFilterForm
|
filterset_form = forms.MACAddressFilterForm
|
||||||
table = tables.MACAddressTable
|
table = tables.MACAddressTable
|
||||||
|
actions = (AddObject, BulkImport, BulkExport, BulkEdit, BulkDelete)
|
||||||
|
|
||||||
|
|
||||||
@register_model_view(MACAddress)
|
@register_model_view(MACAddress)
|
||||||
|
@ -10,6 +10,7 @@ from dcim.filtersets import InterfaceFilterSet
|
|||||||
from dcim.forms import InterfaceFilterForm
|
from dcim.forms import InterfaceFilterForm
|
||||||
from dcim.models import Device, Interface, Site
|
from dcim.models import Device, Interface, Site
|
||||||
from ipam.tables import VLANTranslationRuleTable
|
from ipam.tables import VLANTranslationRuleTable
|
||||||
|
from netbox.object_actions import AddObject, BulkDelete, BulkEdit, BulkExport, BulkImport
|
||||||
from netbox.views import generic
|
from netbox.views import generic
|
||||||
from utilities.query import count_related
|
from utilities.query import count_related
|
||||||
from utilities.tables import get_table_ordering
|
from utilities.tables import get_table_ordering
|
||||||
@ -381,6 +382,7 @@ class AggregateListView(generic.ObjectListView):
|
|||||||
filterset = filtersets.AggregateFilterSet
|
filterset = filtersets.AggregateFilterSet
|
||||||
filterset_form = forms.AggregateFilterForm
|
filterset_form = forms.AggregateFilterForm
|
||||||
table = tables.AggregateTable
|
table = tables.AggregateTable
|
||||||
|
actions = (AddObject, BulkImport, BulkExport, BulkEdit, BulkDelete)
|
||||||
|
|
||||||
|
|
||||||
@register_model_view(Aggregate)
|
@register_model_view(Aggregate)
|
||||||
@ -536,6 +538,7 @@ class PrefixListView(generic.ObjectListView):
|
|||||||
filterset_form = forms.PrefixFilterForm
|
filterset_form = forms.PrefixFilterForm
|
||||||
table = tables.PrefixTable
|
table = tables.PrefixTable
|
||||||
template_name = 'ipam/prefix_list.html'
|
template_name = 'ipam/prefix_list.html'
|
||||||
|
actions = (AddObject, BulkImport, BulkExport, BulkEdit, BulkDelete)
|
||||||
|
|
||||||
|
|
||||||
@register_model_view(Prefix)
|
@register_model_view(Prefix)
|
||||||
@ -818,6 +821,7 @@ class IPAddressListView(generic.ObjectListView):
|
|||||||
filterset = filtersets.IPAddressFilterSet
|
filterset = filtersets.IPAddressFilterSet
|
||||||
filterset_form = forms.IPAddressFilterForm
|
filterset_form = forms.IPAddressFilterForm
|
||||||
table = tables.IPAddressTable
|
table = tables.IPAddressTable
|
||||||
|
actions = (AddObject, BulkImport, BulkExport, BulkEdit, BulkDelete)
|
||||||
|
|
||||||
|
|
||||||
@register_model_view(IPAddress)
|
@register_model_view(IPAddress)
|
||||||
@ -1157,6 +1161,7 @@ class VLANTranslationRuleListView(generic.ObjectListView):
|
|||||||
filterset = filtersets.VLANTranslationRuleFilterSet
|
filterset = filtersets.VLANTranslationRuleFilterSet
|
||||||
filterset_form = forms.VLANTranslationRuleFilterForm
|
filterset_form = forms.VLANTranslationRuleFilterForm
|
||||||
table = tables.VLANTranslationRuleTable
|
table = tables.VLANTranslationRuleTable
|
||||||
|
actions = (AddObject, BulkImport, BulkExport, BulkEdit, BulkDelete)
|
||||||
|
|
||||||
|
|
||||||
@register_model_view(VLANTranslationRule)
|
@register_model_view(VLANTranslationRule)
|
||||||
|
@ -2,7 +2,7 @@ from django.db.models import Count
|
|||||||
|
|
||||||
from core.models import ObjectChange
|
from core.models import ObjectChange
|
||||||
from core.tables import ObjectChangeTable
|
from core.tables import ObjectChangeTable
|
||||||
from netbox.object_actions import AddObject, BulkDelete, BulkEdit, BulkExport, BulkRename
|
from netbox.object_actions import AddObject, BulkDelete, BulkEdit, BulkExport, BulkImport, BulkRename
|
||||||
from netbox.views import generic
|
from netbox.views import generic
|
||||||
from utilities.views import register_model_view
|
from utilities.views import register_model_view
|
||||||
from . import filtersets, forms, tables
|
from . import filtersets, forms, tables
|
||||||
@ -19,6 +19,7 @@ class TokenListView(generic.ObjectListView):
|
|||||||
filterset = filtersets.TokenFilterSet
|
filterset = filtersets.TokenFilterSet
|
||||||
filterset_form = forms.TokenFilterForm
|
filterset_form = forms.TokenFilterForm
|
||||||
table = tables.TokenTable
|
table = tables.TokenTable
|
||||||
|
actions = (AddObject, BulkImport, BulkExport, BulkEdit, BulkDelete)
|
||||||
|
|
||||||
|
|
||||||
@register_model_view(Token)
|
@register_model_view(Token)
|
||||||
@ -112,6 +113,12 @@ class UserBulkEditView(generic.BulkEditView):
|
|||||||
form = forms.UserBulkEditForm
|
form = forms.UserBulkEditForm
|
||||||
|
|
||||||
|
|
||||||
|
@register_model_view(User, 'bulk_rename', path='rename', detail=False)
|
||||||
|
class UserBulkRenameView(generic.BulkRenameView):
|
||||||
|
queryset = User.objects.all()
|
||||||
|
field_name = 'username'
|
||||||
|
|
||||||
|
|
||||||
@register_model_view(User, 'bulk_delete', path='delete', detail=False)
|
@register_model_view(User, 'bulk_delete', path='delete', detail=False)
|
||||||
class UserBulkDeleteView(generic.BulkDeleteView):
|
class UserBulkDeleteView(generic.BulkDeleteView):
|
||||||
queryset = User.objects.all()
|
queryset = User.objects.all()
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
from ipam.tables import RouteTargetTable
|
from ipam.tables import RouteTargetTable
|
||||||
|
from netbox.object_actions import AddObject, BulkDelete, BulkEdit, BulkExport, BulkImport
|
||||||
from netbox.views import generic
|
from netbox.views import generic
|
||||||
from utilities.query import count_related
|
from utilities.query import count_related
|
||||||
from utilities.views import GetRelatedModelsMixin, register_model_view
|
from utilities.views import GetRelatedModelsMixin, register_model_view
|
||||||
@ -548,6 +549,7 @@ class L2VPNTerminationListView(generic.ObjectListView):
|
|||||||
table = tables.L2VPNTerminationTable
|
table = tables.L2VPNTerminationTable
|
||||||
filterset = filtersets.L2VPNTerminationFilterSet
|
filterset = filtersets.L2VPNTerminationFilterSet
|
||||||
filterset_form = forms.L2VPNTerminationFilterForm
|
filterset_form = forms.L2VPNTerminationFilterForm
|
||||||
|
actions = (AddObject, BulkImport, BulkExport, BulkEdit, BulkDelete)
|
||||||
|
|
||||||
|
|
||||||
@register_model_view(L2VPNTermination)
|
@register_model_view(L2VPNTermination)
|
||||||
|
@ -142,6 +142,12 @@ class WirelessLANBulkEditView(generic.BulkEditView):
|
|||||||
form = forms.WirelessLANBulkEditForm
|
form = forms.WirelessLANBulkEditForm
|
||||||
|
|
||||||
|
|
||||||
|
@register_model_view(WirelessLAN, 'bulk_rename', path='rename', detail=False)
|
||||||
|
class WirelessLANBulkRenameView(generic.BulkRenameView):
|
||||||
|
queryset = WirelessLAN.objects.all()
|
||||||
|
field_name = 'ssid'
|
||||||
|
|
||||||
|
|
||||||
@register_model_view(WirelessLAN, 'bulk_delete', path='delete', detail=False)
|
@register_model_view(WirelessLAN, 'bulk_delete', path='delete', detail=False)
|
||||||
class WirelessLANBulkDeleteView(generic.BulkDeleteView):
|
class WirelessLANBulkDeleteView(generic.BulkDeleteView):
|
||||||
queryset = WirelessLAN.objects.all()
|
queryset = WirelessLAN.objects.all()
|
||||||
@ -192,6 +198,12 @@ class WirelessLinkBulkEditView(generic.BulkEditView):
|
|||||||
form = forms.WirelessLinkBulkEditForm
|
form = forms.WirelessLinkBulkEditForm
|
||||||
|
|
||||||
|
|
||||||
|
@register_model_view(WirelessLink, 'bulk_rename', path='rename', detail=False)
|
||||||
|
class WirelessLinkBulkRenameView(generic.BulkRenameView):
|
||||||
|
queryset = WirelessLink.objects.all()
|
||||||
|
field_name = 'ssid'
|
||||||
|
|
||||||
|
|
||||||
@register_model_view(WirelessLink, 'bulk_delete', path='delete', detail=False)
|
@register_model_view(WirelessLink, 'bulk_delete', path='delete', detail=False)
|
||||||
class WirelessLinkBulkDeleteView(generic.BulkDeleteView):
|
class WirelessLinkBulkDeleteView(generic.BulkDeleteView):
|
||||||
queryset = WirelessLink.objects.all()
|
queryset = WirelessLink.objects.all()
|
||||||
|
Loading…
Reference in New Issue
Block a user