mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-16 04:02:52 -06:00
Extend GetReturnURLMixin to automatically resolve default return URL for querysets
This commit is contained in:
parent
7fab929194
commit
4613b69c28
@ -60,19 +60,16 @@ class ProviderEditView(ObjectEditView):
|
|||||||
queryset = Provider.objects.all()
|
queryset = Provider.objects.all()
|
||||||
model_form = forms.ProviderForm
|
model_form = forms.ProviderForm
|
||||||
template_name = 'circuits/provider_edit.html'
|
template_name = 'circuits/provider_edit.html'
|
||||||
default_return_url = 'circuits:provider_list'
|
|
||||||
|
|
||||||
|
|
||||||
class ProviderDeleteView(ObjectDeleteView):
|
class ProviderDeleteView(ObjectDeleteView):
|
||||||
queryset = Provider.objects.all()
|
queryset = Provider.objects.all()
|
||||||
default_return_url = 'circuits:provider_list'
|
|
||||||
|
|
||||||
|
|
||||||
class ProviderBulkImportView(BulkImportView):
|
class ProviderBulkImportView(BulkImportView):
|
||||||
queryset = Provider.objects.all()
|
queryset = Provider.objects.all()
|
||||||
model_form = forms.ProviderCSVForm
|
model_form = forms.ProviderCSVForm
|
||||||
table = tables.ProviderTable
|
table = tables.ProviderTable
|
||||||
default_return_url = 'circuits:provider_list'
|
|
||||||
|
|
||||||
|
|
||||||
class ProviderBulkEditView(BulkEditView):
|
class ProviderBulkEditView(BulkEditView):
|
||||||
@ -80,14 +77,12 @@ class ProviderBulkEditView(BulkEditView):
|
|||||||
filterset = filters.ProviderFilterSet
|
filterset = filters.ProviderFilterSet
|
||||||
table = tables.ProviderTable
|
table = tables.ProviderTable
|
||||||
form = forms.ProviderBulkEditForm
|
form = forms.ProviderBulkEditForm
|
||||||
default_return_url = 'circuits:provider_list'
|
|
||||||
|
|
||||||
|
|
||||||
class ProviderBulkDeleteView(BulkDeleteView):
|
class ProviderBulkDeleteView(BulkDeleteView):
|
||||||
queryset = Provider.objects.annotate(count_circuits=Count('circuits'))
|
queryset = Provider.objects.annotate(count_circuits=Count('circuits'))
|
||||||
filterset = filters.ProviderFilterSet
|
filterset = filters.ProviderFilterSet
|
||||||
table = tables.ProviderTable
|
table = tables.ProviderTable
|
||||||
default_return_url = 'circuits:provider_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -102,20 +97,17 @@ class CircuitTypeListView(ObjectListView):
|
|||||||
class CircuitTypeEditView(ObjectEditView):
|
class CircuitTypeEditView(ObjectEditView):
|
||||||
queryset = CircuitType.objects.all()
|
queryset = CircuitType.objects.all()
|
||||||
model_form = forms.CircuitTypeForm
|
model_form = forms.CircuitTypeForm
|
||||||
default_return_url = 'circuits:circuittype_list'
|
|
||||||
|
|
||||||
|
|
||||||
class CircuitTypeBulkImportView(BulkImportView):
|
class CircuitTypeBulkImportView(BulkImportView):
|
||||||
queryset = CircuitType.objects.all()
|
queryset = CircuitType.objects.all()
|
||||||
model_form = forms.CircuitTypeCSVForm
|
model_form = forms.CircuitTypeCSVForm
|
||||||
table = tables.CircuitTypeTable
|
table = tables.CircuitTypeTable
|
||||||
default_return_url = 'circuits:circuittype_list'
|
|
||||||
|
|
||||||
|
|
||||||
class CircuitTypeBulkDeleteView(BulkDeleteView):
|
class CircuitTypeBulkDeleteView(BulkDeleteView):
|
||||||
queryset = CircuitType.objects.annotate(circuit_count=Count('circuits'))
|
queryset = CircuitType.objects.annotate(circuit_count=Count('circuits'))
|
||||||
table = tables.CircuitTypeTable
|
table = tables.CircuitTypeTable
|
||||||
default_return_url = 'circuits:circuittype_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -165,19 +157,16 @@ class CircuitEditView(ObjectEditView):
|
|||||||
queryset = Circuit.objects.all()
|
queryset = Circuit.objects.all()
|
||||||
model_form = forms.CircuitForm
|
model_form = forms.CircuitForm
|
||||||
template_name = 'circuits/circuit_edit.html'
|
template_name = 'circuits/circuit_edit.html'
|
||||||
default_return_url = 'circuits:circuit_list'
|
|
||||||
|
|
||||||
|
|
||||||
class CircuitDeleteView(ObjectDeleteView):
|
class CircuitDeleteView(ObjectDeleteView):
|
||||||
queryset = Circuit.objects.all()
|
queryset = Circuit.objects.all()
|
||||||
default_return_url = 'circuits:circuit_list'
|
|
||||||
|
|
||||||
|
|
||||||
class CircuitBulkImportView(BulkImportView):
|
class CircuitBulkImportView(BulkImportView):
|
||||||
queryset = Circuit.objects.all()
|
queryset = Circuit.objects.all()
|
||||||
model_form = forms.CircuitCSVForm
|
model_form = forms.CircuitCSVForm
|
||||||
table = tables.CircuitTable
|
table = tables.CircuitTable
|
||||||
default_return_url = 'circuits:circuit_list'
|
|
||||||
|
|
||||||
|
|
||||||
class CircuitBulkEditView(BulkEditView):
|
class CircuitBulkEditView(BulkEditView):
|
||||||
@ -185,14 +174,12 @@ class CircuitBulkEditView(BulkEditView):
|
|||||||
filterset = filters.CircuitFilterSet
|
filterset = filters.CircuitFilterSet
|
||||||
table = tables.CircuitTable
|
table = tables.CircuitTable
|
||||||
form = forms.CircuitBulkEditForm
|
form = forms.CircuitBulkEditForm
|
||||||
default_return_url = 'circuits:circuit_list'
|
|
||||||
|
|
||||||
|
|
||||||
class CircuitBulkDeleteView(BulkDeleteView):
|
class CircuitBulkDeleteView(BulkDeleteView):
|
||||||
queryset = Circuit.objects.prefetch_related('provider', 'type', 'tenant').prefetch_related('terminations__site')
|
queryset = Circuit.objects.prefetch_related('provider', 'type', 'tenant').prefetch_related('terminations__site')
|
||||||
filterset = filters.CircuitFilterSet
|
filterset = filters.CircuitFilterSet
|
||||||
table = tables.CircuitTable
|
table = tables.CircuitTable
|
||||||
default_return_url = 'circuits:circuit_list'
|
|
||||||
|
|
||||||
|
|
||||||
class CircuitSwapTerminations(ObjectEditView):
|
class CircuitSwapTerminations(ObjectEditView):
|
||||||
|
@ -120,21 +120,18 @@ class RegionListView(ObjectListView):
|
|||||||
class RegionEditView(ObjectEditView):
|
class RegionEditView(ObjectEditView):
|
||||||
queryset = Region.objects.all()
|
queryset = Region.objects.all()
|
||||||
model_form = forms.RegionForm
|
model_form = forms.RegionForm
|
||||||
default_return_url = 'dcim:region_list'
|
|
||||||
|
|
||||||
|
|
||||||
class RegionBulkImportView(BulkImportView):
|
class RegionBulkImportView(BulkImportView):
|
||||||
queryset = Region.objects.all()
|
queryset = Region.objects.all()
|
||||||
model_form = forms.RegionCSVForm
|
model_form = forms.RegionCSVForm
|
||||||
table = tables.RegionTable
|
table = tables.RegionTable
|
||||||
default_return_url = 'dcim:region_list'
|
|
||||||
|
|
||||||
|
|
||||||
class RegionBulkDeleteView(BulkDeleteView):
|
class RegionBulkDeleteView(BulkDeleteView):
|
||||||
queryset = Region.objects.all()
|
queryset = Region.objects.all()
|
||||||
filterset = filters.RegionFilterSet
|
filterset = filters.RegionFilterSet
|
||||||
table = tables.RegionTable
|
table = tables.RegionTable
|
||||||
default_return_url = 'dcim:region_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -179,19 +176,16 @@ class SiteEditView(ObjectEditView):
|
|||||||
queryset = Site.objects.all()
|
queryset = Site.objects.all()
|
||||||
model_form = forms.SiteForm
|
model_form = forms.SiteForm
|
||||||
template_name = 'dcim/site_edit.html'
|
template_name = 'dcim/site_edit.html'
|
||||||
default_return_url = 'dcim:site_list'
|
|
||||||
|
|
||||||
|
|
||||||
class SiteDeleteView(ObjectDeleteView):
|
class SiteDeleteView(ObjectDeleteView):
|
||||||
queryset = Site.objects.all()
|
queryset = Site.objects.all()
|
||||||
default_return_url = 'dcim:site_list'
|
|
||||||
|
|
||||||
|
|
||||||
class SiteBulkImportView(BulkImportView):
|
class SiteBulkImportView(BulkImportView):
|
||||||
queryset = Site.objects.all()
|
queryset = Site.objects.all()
|
||||||
model_form = forms.SiteCSVForm
|
model_form = forms.SiteCSVForm
|
||||||
table = tables.SiteTable
|
table = tables.SiteTable
|
||||||
default_return_url = 'dcim:site_list'
|
|
||||||
|
|
||||||
|
|
||||||
class SiteBulkEditView(BulkEditView):
|
class SiteBulkEditView(BulkEditView):
|
||||||
@ -199,14 +193,12 @@ class SiteBulkEditView(BulkEditView):
|
|||||||
filterset = filters.SiteFilterSet
|
filterset = filters.SiteFilterSet
|
||||||
table = tables.SiteTable
|
table = tables.SiteTable
|
||||||
form = forms.SiteBulkEditForm
|
form = forms.SiteBulkEditForm
|
||||||
default_return_url = 'dcim:site_list'
|
|
||||||
|
|
||||||
|
|
||||||
class SiteBulkDeleteView(BulkDeleteView):
|
class SiteBulkDeleteView(BulkDeleteView):
|
||||||
queryset = Site.objects.prefetch_related('region', 'tenant')
|
queryset = Site.objects.prefetch_related('region', 'tenant')
|
||||||
filterset = filters.SiteFilterSet
|
filterset = filters.SiteFilterSet
|
||||||
table = tables.SiteTable
|
table = tables.SiteTable
|
||||||
default_return_url = 'dcim:site_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -229,21 +221,18 @@ class RackGroupListView(ObjectListView):
|
|||||||
class RackGroupEditView(ObjectEditView):
|
class RackGroupEditView(ObjectEditView):
|
||||||
queryset = RackGroup.objects.all()
|
queryset = RackGroup.objects.all()
|
||||||
model_form = forms.RackGroupForm
|
model_form = forms.RackGroupForm
|
||||||
default_return_url = 'dcim:rackgroup_list'
|
|
||||||
|
|
||||||
|
|
||||||
class RackGroupBulkImportView(BulkImportView):
|
class RackGroupBulkImportView(BulkImportView):
|
||||||
queryset = RackGroup.objects.all()
|
queryset = RackGroup.objects.all()
|
||||||
model_form = forms.RackGroupCSVForm
|
model_form = forms.RackGroupCSVForm
|
||||||
table = tables.RackGroupTable
|
table = tables.RackGroupTable
|
||||||
default_return_url = 'dcim:rackgroup_list'
|
|
||||||
|
|
||||||
|
|
||||||
class RackGroupBulkDeleteView(BulkDeleteView):
|
class RackGroupBulkDeleteView(BulkDeleteView):
|
||||||
queryset = RackGroup.objects.prefetch_related('site').annotate(rack_count=Count('racks'))
|
queryset = RackGroup.objects.prefetch_related('site').annotate(rack_count=Count('racks'))
|
||||||
filterset = filters.RackGroupFilterSet
|
filterset = filters.RackGroupFilterSet
|
||||||
table = tables.RackGroupTable
|
table = tables.RackGroupTable
|
||||||
default_return_url = 'dcim:rackgroup_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -258,20 +247,17 @@ class RackRoleListView(ObjectListView):
|
|||||||
class RackRoleEditView(ObjectEditView):
|
class RackRoleEditView(ObjectEditView):
|
||||||
queryset = RackRole.objects.all()
|
queryset = RackRole.objects.all()
|
||||||
model_form = forms.RackRoleForm
|
model_form = forms.RackRoleForm
|
||||||
default_return_url = 'dcim:rackrole_list'
|
|
||||||
|
|
||||||
|
|
||||||
class RackRoleBulkImportView(BulkImportView):
|
class RackRoleBulkImportView(BulkImportView):
|
||||||
queryset = RackRole.objects.all()
|
queryset = RackRole.objects.all()
|
||||||
model_form = forms.RackRoleCSVForm
|
model_form = forms.RackRoleCSVForm
|
||||||
table = tables.RackRoleTable
|
table = tables.RackRoleTable
|
||||||
default_return_url = 'dcim:rackrole_list'
|
|
||||||
|
|
||||||
|
|
||||||
class RackRoleBulkDeleteView(BulkDeleteView):
|
class RackRoleBulkDeleteView(BulkDeleteView):
|
||||||
queryset = RackRole.objects.annotate(rack_count=Count('racks'))
|
queryset = RackRole.objects.annotate(rack_count=Count('racks'))
|
||||||
table = tables.RackRoleTable
|
table = tables.RackRoleTable
|
||||||
default_return_url = 'dcim:rackrole_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -363,19 +349,16 @@ class RackEditView(ObjectEditView):
|
|||||||
queryset = Rack.objects.all()
|
queryset = Rack.objects.all()
|
||||||
model_form = forms.RackForm
|
model_form = forms.RackForm
|
||||||
template_name = 'dcim/rack_edit.html'
|
template_name = 'dcim/rack_edit.html'
|
||||||
default_return_url = 'dcim:rack_list'
|
|
||||||
|
|
||||||
|
|
||||||
class RackDeleteView(ObjectDeleteView):
|
class RackDeleteView(ObjectDeleteView):
|
||||||
queryset = Rack.objects.all()
|
queryset = Rack.objects.all()
|
||||||
default_return_url = 'dcim:rack_list'
|
|
||||||
|
|
||||||
|
|
||||||
class RackBulkImportView(BulkImportView):
|
class RackBulkImportView(BulkImportView):
|
||||||
queryset = Rack.objects.all()
|
queryset = Rack.objects.all()
|
||||||
model_form = forms.RackCSVForm
|
model_form = forms.RackCSVForm
|
||||||
table = tables.RackTable
|
table = tables.RackTable
|
||||||
default_return_url = 'dcim:rack_list'
|
|
||||||
|
|
||||||
|
|
||||||
class RackBulkEditView(BulkEditView):
|
class RackBulkEditView(BulkEditView):
|
||||||
@ -383,14 +366,12 @@ class RackBulkEditView(BulkEditView):
|
|||||||
filterset = filters.RackFilterSet
|
filterset = filters.RackFilterSet
|
||||||
table = tables.RackTable
|
table = tables.RackTable
|
||||||
form = forms.RackBulkEditForm
|
form = forms.RackBulkEditForm
|
||||||
default_return_url = 'dcim:rack_list'
|
|
||||||
|
|
||||||
|
|
||||||
class RackBulkDeleteView(BulkDeleteView):
|
class RackBulkDeleteView(BulkDeleteView):
|
||||||
queryset = Rack.objects.prefetch_related('site', 'group', 'tenant', 'role')
|
queryset = Rack.objects.prefetch_related('site', 'group', 'tenant', 'role')
|
||||||
filterset = filters.RackFilterSet
|
filterset = filters.RackFilterSet
|
||||||
table = tables.RackTable
|
table = tables.RackTable
|
||||||
default_return_url = 'dcim:rack_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -421,7 +402,6 @@ class RackReservationEditView(ObjectEditView):
|
|||||||
queryset = RackReservation.objects.all()
|
queryset = RackReservation.objects.all()
|
||||||
model_form = forms.RackReservationForm
|
model_form = forms.RackReservationForm
|
||||||
template_name = 'dcim/rackreservation_edit.html'
|
template_name = 'dcim/rackreservation_edit.html'
|
||||||
default_return_url = 'dcim:rackreservation_list'
|
|
||||||
|
|
||||||
def alter_obj(self, obj, request, args, kwargs):
|
def alter_obj(self, obj, request, args, kwargs):
|
||||||
if not obj.pk:
|
if not obj.pk:
|
||||||
@ -433,14 +413,12 @@ class RackReservationEditView(ObjectEditView):
|
|||||||
|
|
||||||
class RackReservationDeleteView(ObjectDeleteView):
|
class RackReservationDeleteView(ObjectDeleteView):
|
||||||
queryset = RackReservation.objects.all()
|
queryset = RackReservation.objects.all()
|
||||||
default_return_url = 'dcim:rackreservation_list'
|
|
||||||
|
|
||||||
|
|
||||||
class RackReservationImportView(BulkImportView):
|
class RackReservationImportView(BulkImportView):
|
||||||
queryset = RackReservation.objects.all()
|
queryset = RackReservation.objects.all()
|
||||||
model_form = forms.RackReservationCSVForm
|
model_form = forms.RackReservationCSVForm
|
||||||
table = tables.RackReservationTable
|
table = tables.RackReservationTable
|
||||||
default_return_url = 'dcim:rackreservation_list'
|
|
||||||
|
|
||||||
def _save_obj(self, obj_form, request):
|
def _save_obj(self, obj_form, request):
|
||||||
"""
|
"""
|
||||||
@ -458,14 +436,12 @@ class RackReservationBulkEditView(BulkEditView):
|
|||||||
filterset = filters.RackReservationFilterSet
|
filterset = filters.RackReservationFilterSet
|
||||||
table = tables.RackReservationTable
|
table = tables.RackReservationTable
|
||||||
form = forms.RackReservationBulkEditForm
|
form = forms.RackReservationBulkEditForm
|
||||||
default_return_url = 'dcim:rackreservation_list'
|
|
||||||
|
|
||||||
|
|
||||||
class RackReservationBulkDeleteView(BulkDeleteView):
|
class RackReservationBulkDeleteView(BulkDeleteView):
|
||||||
queryset = RackReservation.objects.prefetch_related('rack', 'user')
|
queryset = RackReservation.objects.prefetch_related('rack', 'user')
|
||||||
filterset = filters.RackReservationFilterSet
|
filterset = filters.RackReservationFilterSet
|
||||||
table = tables.RackReservationTable
|
table = tables.RackReservationTable
|
||||||
default_return_url = 'dcim:rackreservation_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -484,20 +460,17 @@ class ManufacturerListView(ObjectListView):
|
|||||||
class ManufacturerEditView(ObjectEditView):
|
class ManufacturerEditView(ObjectEditView):
|
||||||
queryset = Manufacturer.objects.all()
|
queryset = Manufacturer.objects.all()
|
||||||
model_form = forms.ManufacturerForm
|
model_form = forms.ManufacturerForm
|
||||||
default_return_url = 'dcim:manufacturer_list'
|
|
||||||
|
|
||||||
|
|
||||||
class ManufacturerBulkImportView(BulkImportView):
|
class ManufacturerBulkImportView(BulkImportView):
|
||||||
queryset = Manufacturer.objects.all()
|
queryset = Manufacturer.objects.all()
|
||||||
model_form = forms.ManufacturerCSVForm
|
model_form = forms.ManufacturerCSVForm
|
||||||
table = tables.ManufacturerTable
|
table = tables.ManufacturerTable
|
||||||
default_return_url = 'dcim:manufacturer_list'
|
|
||||||
|
|
||||||
|
|
||||||
class ManufacturerBulkDeleteView(BulkDeleteView):
|
class ManufacturerBulkDeleteView(BulkDeleteView):
|
||||||
queryset = Manufacturer.objects.annotate(devicetype_count=Count('device_types'))
|
queryset = Manufacturer.objects.annotate(devicetype_count=Count('device_types'))
|
||||||
table = tables.ManufacturerTable
|
table = tables.ManufacturerTable
|
||||||
default_return_url = 'dcim:manufacturer_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -580,12 +553,10 @@ class DeviceTypeEditView(ObjectEditView):
|
|||||||
queryset = DeviceType.objects.all()
|
queryset = DeviceType.objects.all()
|
||||||
model_form = forms.DeviceTypeForm
|
model_form = forms.DeviceTypeForm
|
||||||
template_name = 'dcim/devicetype_edit.html'
|
template_name = 'dcim/devicetype_edit.html'
|
||||||
default_return_url = 'dcim:devicetype_list'
|
|
||||||
|
|
||||||
|
|
||||||
class DeviceTypeDeleteView(ObjectDeleteView):
|
class DeviceTypeDeleteView(ObjectDeleteView):
|
||||||
queryset = DeviceType.objects.all()
|
queryset = DeviceType.objects.all()
|
||||||
default_return_url = 'dcim:devicetype_list'
|
|
||||||
|
|
||||||
|
|
||||||
class DeviceTypeImportView(ObjectImportView):
|
class DeviceTypeImportView(ObjectImportView):
|
||||||
@ -612,7 +583,6 @@ class DeviceTypeImportView(ObjectImportView):
|
|||||||
('front-ports', forms.FrontPortTemplateImportForm),
|
('front-ports', forms.FrontPortTemplateImportForm),
|
||||||
('device-bays', forms.DeviceBayTemplateImportForm),
|
('device-bays', forms.DeviceBayTemplateImportForm),
|
||||||
))
|
))
|
||||||
default_return_url = 'dcim:devicetype_import'
|
|
||||||
|
|
||||||
|
|
||||||
class DeviceTypeBulkEditView(BulkEditView):
|
class DeviceTypeBulkEditView(BulkEditView):
|
||||||
@ -620,14 +590,12 @@ class DeviceTypeBulkEditView(BulkEditView):
|
|||||||
filterset = filters.DeviceTypeFilterSet
|
filterset = filters.DeviceTypeFilterSet
|
||||||
table = tables.DeviceTypeTable
|
table = tables.DeviceTypeTable
|
||||||
form = forms.DeviceTypeBulkEditForm
|
form = forms.DeviceTypeBulkEditForm
|
||||||
default_return_url = 'dcim:devicetype_list'
|
|
||||||
|
|
||||||
|
|
||||||
class DeviceTypeBulkDeleteView(BulkDeleteView):
|
class DeviceTypeBulkDeleteView(BulkDeleteView):
|
||||||
queryset = DeviceType.objects.prefetch_related('manufacturer').annotate(instance_count=Count('instances'))
|
queryset = DeviceType.objects.prefetch_related('manufacturer').annotate(instance_count=Count('instances'))
|
||||||
filterset = filters.DeviceTypeFilterSet
|
filterset = filters.DeviceTypeFilterSet
|
||||||
table = tables.DeviceTypeTable
|
table = tables.DeviceTypeTable
|
||||||
default_return_url = 'dcim:devicetype_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -890,20 +858,17 @@ class DeviceRoleListView(ObjectListView):
|
|||||||
class DeviceRoleEditView(ObjectEditView):
|
class DeviceRoleEditView(ObjectEditView):
|
||||||
queryset = DeviceRole.objects.all()
|
queryset = DeviceRole.objects.all()
|
||||||
model_form = forms.DeviceRoleForm
|
model_form = forms.DeviceRoleForm
|
||||||
default_return_url = 'dcim:devicerole_list'
|
|
||||||
|
|
||||||
|
|
||||||
class DeviceRoleBulkImportView(BulkImportView):
|
class DeviceRoleBulkImportView(BulkImportView):
|
||||||
queryset = DeviceRole.objects.all()
|
queryset = DeviceRole.objects.all()
|
||||||
model_form = forms.DeviceRoleCSVForm
|
model_form = forms.DeviceRoleCSVForm
|
||||||
table = tables.DeviceRoleTable
|
table = tables.DeviceRoleTable
|
||||||
default_return_url = 'dcim:devicerole_list'
|
|
||||||
|
|
||||||
|
|
||||||
class DeviceRoleBulkDeleteView(BulkDeleteView):
|
class DeviceRoleBulkDeleteView(BulkDeleteView):
|
||||||
queryset = DeviceRole.objects.all()
|
queryset = DeviceRole.objects.all()
|
||||||
table = tables.DeviceRoleTable
|
table = tables.DeviceRoleTable
|
||||||
default_return_url = 'dcim:devicerole_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -918,20 +883,17 @@ class PlatformListView(ObjectListView):
|
|||||||
class PlatformEditView(ObjectEditView):
|
class PlatformEditView(ObjectEditView):
|
||||||
queryset = Platform.objects.all()
|
queryset = Platform.objects.all()
|
||||||
model_form = forms.PlatformForm
|
model_form = forms.PlatformForm
|
||||||
default_return_url = 'dcim:platform_list'
|
|
||||||
|
|
||||||
|
|
||||||
class PlatformBulkImportView(BulkImportView):
|
class PlatformBulkImportView(BulkImportView):
|
||||||
queryset = Platform.objects.all()
|
queryset = Platform.objects.all()
|
||||||
model_form = forms.PlatformCSVForm
|
model_form = forms.PlatformCSVForm
|
||||||
table = tables.PlatformTable
|
table = tables.PlatformTable
|
||||||
default_return_url = 'dcim:platform_list'
|
|
||||||
|
|
||||||
|
|
||||||
class PlatformBulkDeleteView(BulkDeleteView):
|
class PlatformBulkDeleteView(BulkDeleteView):
|
||||||
queryset = Platform.objects.all()
|
queryset = Platform.objects.all()
|
||||||
table = tables.PlatformTable
|
table = tables.PlatformTable
|
||||||
default_return_url = 'dcim:platform_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -1118,12 +1080,10 @@ class DeviceEditView(ObjectEditView):
|
|||||||
queryset = Device.objects.all()
|
queryset = Device.objects.all()
|
||||||
model_form = forms.DeviceForm
|
model_form = forms.DeviceForm
|
||||||
template_name = 'dcim/device_edit.html'
|
template_name = 'dcim/device_edit.html'
|
||||||
default_return_url = 'dcim:device_list'
|
|
||||||
|
|
||||||
|
|
||||||
class DeviceDeleteView(ObjectDeleteView):
|
class DeviceDeleteView(ObjectDeleteView):
|
||||||
queryset = Device.objects.all()
|
queryset = Device.objects.all()
|
||||||
default_return_url = 'dcim:device_list'
|
|
||||||
|
|
||||||
|
|
||||||
class DeviceBulkImportView(BulkImportView):
|
class DeviceBulkImportView(BulkImportView):
|
||||||
@ -1131,7 +1091,6 @@ class DeviceBulkImportView(BulkImportView):
|
|||||||
model_form = forms.DeviceCSVForm
|
model_form = forms.DeviceCSVForm
|
||||||
table = tables.DeviceImportTable
|
table = tables.DeviceImportTable
|
||||||
template_name = 'dcim/device_import.html'
|
template_name = 'dcim/device_import.html'
|
||||||
default_return_url = 'dcim:device_list'
|
|
||||||
|
|
||||||
|
|
||||||
class ChildDeviceBulkImportView(BulkImportView):
|
class ChildDeviceBulkImportView(BulkImportView):
|
||||||
@ -1139,7 +1098,6 @@ class ChildDeviceBulkImportView(BulkImportView):
|
|||||||
model_form = forms.ChildDeviceCSVForm
|
model_form = forms.ChildDeviceCSVForm
|
||||||
table = tables.DeviceImportTable
|
table = tables.DeviceImportTable
|
||||||
template_name = 'dcim/device_import_child.html'
|
template_name = 'dcim/device_import_child.html'
|
||||||
default_return_url = 'dcim:device_list'
|
|
||||||
|
|
||||||
def _save_obj(self, obj_form, request):
|
def _save_obj(self, obj_form, request):
|
||||||
|
|
||||||
@ -1158,14 +1116,12 @@ class DeviceBulkEditView(BulkEditView):
|
|||||||
filterset = filters.DeviceFilterSet
|
filterset = filters.DeviceFilterSet
|
||||||
table = tables.DeviceTable
|
table = tables.DeviceTable
|
||||||
form = forms.DeviceBulkEditForm
|
form = forms.DeviceBulkEditForm
|
||||||
default_return_url = 'dcim:device_list'
|
|
||||||
|
|
||||||
|
|
||||||
class DeviceBulkDeleteView(BulkDeleteView):
|
class DeviceBulkDeleteView(BulkDeleteView):
|
||||||
queryset = Device.objects.prefetch_related('tenant', 'site', 'rack', 'device_role', 'device_type__manufacturer')
|
queryset = Device.objects.prefetch_related('tenant', 'site', 'rack', 'device_role', 'device_type__manufacturer')
|
||||||
filterset = filters.DeviceFilterSet
|
filterset = filters.DeviceFilterSet
|
||||||
table = tables.DeviceTable
|
table = tables.DeviceTable
|
||||||
default_return_url = 'dcim:device_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -1204,7 +1160,6 @@ class ConsolePortBulkImportView(BulkImportView):
|
|||||||
queryset = ConsolePort.objects.all()
|
queryset = ConsolePort.objects.all()
|
||||||
model_form = forms.ConsolePortCSVForm
|
model_form = forms.ConsolePortCSVForm
|
||||||
table = tables.ConsolePortTable
|
table = tables.ConsolePortTable
|
||||||
default_return_url = 'dcim:consoleport_list'
|
|
||||||
|
|
||||||
|
|
||||||
class ConsolePortBulkEditView(BulkEditView):
|
class ConsolePortBulkEditView(BulkEditView):
|
||||||
@ -1226,7 +1181,6 @@ class ConsolePortBulkDeleteView(BulkDeleteView):
|
|||||||
queryset = ConsolePort.objects.all()
|
queryset = ConsolePort.objects.all()
|
||||||
filterset = filters.ConsolePortFilterSet
|
filterset = filters.ConsolePortFilterSet
|
||||||
table = tables.ConsolePortTable
|
table = tables.ConsolePortTable
|
||||||
default_return_url = 'dcim:consoleport_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -1265,7 +1219,6 @@ class ConsoleServerPortBulkImportView(BulkImportView):
|
|||||||
queryset = ConsoleServerPort.objects.all()
|
queryset = ConsoleServerPort.objects.all()
|
||||||
model_form = forms.ConsoleServerPortCSVForm
|
model_form = forms.ConsoleServerPortCSVForm
|
||||||
table = tables.ConsoleServerPortTable
|
table = tables.ConsoleServerPortTable
|
||||||
default_return_url = 'dcim:consoleserverport_list'
|
|
||||||
|
|
||||||
|
|
||||||
class ConsoleServerPortBulkEditView(BulkEditView):
|
class ConsoleServerPortBulkEditView(BulkEditView):
|
||||||
@ -1287,7 +1240,6 @@ class ConsoleServerPortBulkDeleteView(BulkDeleteView):
|
|||||||
queryset = ConsoleServerPort.objects.all()
|
queryset = ConsoleServerPort.objects.all()
|
||||||
filterset = filters.ConsoleServerPortFilterSet
|
filterset = filters.ConsoleServerPortFilterSet
|
||||||
table = tables.ConsoleServerPortTable
|
table = tables.ConsoleServerPortTable
|
||||||
default_return_url = 'dcim:consoleserverport_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -1326,7 +1278,6 @@ class PowerPortBulkImportView(BulkImportView):
|
|||||||
queryset = PowerPort.objects.all()
|
queryset = PowerPort.objects.all()
|
||||||
model_form = forms.PowerPortCSVForm
|
model_form = forms.PowerPortCSVForm
|
||||||
table = tables.PowerPortTable
|
table = tables.PowerPortTable
|
||||||
default_return_url = 'dcim:powerport_list'
|
|
||||||
|
|
||||||
|
|
||||||
class PowerPortBulkEditView(BulkEditView):
|
class PowerPortBulkEditView(BulkEditView):
|
||||||
@ -1348,7 +1299,6 @@ class PowerPortBulkDeleteView(BulkDeleteView):
|
|||||||
queryset = PowerPort.objects.all()
|
queryset = PowerPort.objects.all()
|
||||||
filterset = filters.PowerPortFilterSet
|
filterset = filters.PowerPortFilterSet
|
||||||
table = tables.PowerPortTable
|
table = tables.PowerPortTable
|
||||||
default_return_url = 'dcim:powerport_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -1387,7 +1337,6 @@ class PowerOutletBulkImportView(BulkImportView):
|
|||||||
queryset = PowerOutlet.objects.all()
|
queryset = PowerOutlet.objects.all()
|
||||||
model_form = forms.PowerOutletCSVForm
|
model_form = forms.PowerOutletCSVForm
|
||||||
table = tables.PowerOutletTable
|
table = tables.PowerOutletTable
|
||||||
default_return_url = 'dcim:poweroutlet_list'
|
|
||||||
|
|
||||||
|
|
||||||
class PowerOutletBulkEditView(BulkEditView):
|
class PowerOutletBulkEditView(BulkEditView):
|
||||||
@ -1409,7 +1358,6 @@ class PowerOutletBulkDeleteView(BulkDeleteView):
|
|||||||
queryset = PowerOutlet.objects.all()
|
queryset = PowerOutlet.objects.all()
|
||||||
filterset = filters.PowerOutletFilterSet
|
filterset = filters.PowerOutletFilterSet
|
||||||
table = tables.PowerOutletTable
|
table = tables.PowerOutletTable
|
||||||
default_return_url = 'dcim:poweroutlet_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -1481,7 +1429,6 @@ class InterfaceBulkImportView(BulkImportView):
|
|||||||
queryset = Interface.objects.all()
|
queryset = Interface.objects.all()
|
||||||
model_form = forms.InterfaceCSVForm
|
model_form = forms.InterfaceCSVForm
|
||||||
table = tables.InterfaceTable
|
table = tables.InterfaceTable
|
||||||
default_return_url = 'dcim:interface_list'
|
|
||||||
|
|
||||||
|
|
||||||
class InterfaceBulkEditView(BulkEditView):
|
class InterfaceBulkEditView(BulkEditView):
|
||||||
@ -1503,7 +1450,6 @@ class InterfaceBulkDeleteView(BulkDeleteView):
|
|||||||
queryset = Interface.objects.all()
|
queryset = Interface.objects.all()
|
||||||
filterset = filters.InterfaceFilterSet
|
filterset = filters.InterfaceFilterSet
|
||||||
table = tables.InterfaceTable
|
table = tables.InterfaceTable
|
||||||
default_return_url = 'dcim:interface_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -1542,7 +1488,6 @@ class FrontPortBulkImportView(BulkImportView):
|
|||||||
queryset = FrontPort.objects.all()
|
queryset = FrontPort.objects.all()
|
||||||
model_form = forms.FrontPortCSVForm
|
model_form = forms.FrontPortCSVForm
|
||||||
table = tables.FrontPortTable
|
table = tables.FrontPortTable
|
||||||
default_return_url = 'dcim:frontport_list'
|
|
||||||
|
|
||||||
|
|
||||||
class FrontPortBulkEditView(BulkEditView):
|
class FrontPortBulkEditView(BulkEditView):
|
||||||
@ -1564,7 +1509,6 @@ class FrontPortBulkDeleteView(BulkDeleteView):
|
|||||||
queryset = FrontPort.objects.all()
|
queryset = FrontPort.objects.all()
|
||||||
filterset = filters.FrontPortFilterSet
|
filterset = filters.FrontPortFilterSet
|
||||||
table = tables.FrontPortTable
|
table = tables.FrontPortTable
|
||||||
default_return_url = 'dcim:frontport_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -1603,7 +1547,6 @@ class RearPortBulkImportView(BulkImportView):
|
|||||||
queryset = RearPort.objects.all()
|
queryset = RearPort.objects.all()
|
||||||
model_form = forms.RearPortCSVForm
|
model_form = forms.RearPortCSVForm
|
||||||
table = tables.RearPortTable
|
table = tables.RearPortTable
|
||||||
default_return_url = 'dcim:rearport_list'
|
|
||||||
|
|
||||||
|
|
||||||
class RearPortBulkEditView(BulkEditView):
|
class RearPortBulkEditView(BulkEditView):
|
||||||
@ -1625,7 +1568,6 @@ class RearPortBulkDeleteView(BulkDeleteView):
|
|||||||
queryset = RearPort.objects.all()
|
queryset = RearPort.objects.all()
|
||||||
filterset = filters.RearPortFilterSet
|
filterset = filters.RearPortFilterSet
|
||||||
table = tables.RearPortTable
|
table = tables.RearPortTable
|
||||||
default_return_url = 'dcim:rearport_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -1731,7 +1673,6 @@ class DeviceBayBulkImportView(BulkImportView):
|
|||||||
queryset = DeviceBay.objects.all()
|
queryset = DeviceBay.objects.all()
|
||||||
model_form = forms.DeviceBayCSVForm
|
model_form = forms.DeviceBayCSVForm
|
||||||
table = tables.DeviceBayTable
|
table = tables.DeviceBayTable
|
||||||
default_return_url = 'dcim:devicebay_list'
|
|
||||||
|
|
||||||
|
|
||||||
class DeviceBayBulkEditView(BulkEditView):
|
class DeviceBayBulkEditView(BulkEditView):
|
||||||
@ -1749,7 +1690,6 @@ class DeviceBayBulkDeleteView(BulkDeleteView):
|
|||||||
queryset = DeviceBay.objects.all()
|
queryset = DeviceBay.objects.all()
|
||||||
filterset = filters.DeviceBayFilterSet
|
filterset = filters.DeviceBayFilterSet
|
||||||
table = tables.DeviceBayTable
|
table = tables.DeviceBayTable
|
||||||
default_return_url = 'dcim:devicebay_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -1901,7 +1841,6 @@ class CableTraceView(ObjectView):
|
|||||||
class CableCreateView(ObjectEditView):
|
class CableCreateView(ObjectEditView):
|
||||||
queryset = Cable.objects.all()
|
queryset = Cable.objects.all()
|
||||||
template_name = 'dcim/cable_connect.html'
|
template_name = 'dcim/cable_connect.html'
|
||||||
default_return_url = 'dcim:cable_list'
|
|
||||||
|
|
||||||
def dispatch(self, request, *args, **kwargs):
|
def dispatch(self, request, *args, **kwargs):
|
||||||
|
|
||||||
@ -1959,19 +1898,16 @@ class CableEditView(ObjectEditView):
|
|||||||
queryset = Cable.objects.all()
|
queryset = Cable.objects.all()
|
||||||
model_form = forms.CableForm
|
model_form = forms.CableForm
|
||||||
template_name = 'dcim/cable_edit.html'
|
template_name = 'dcim/cable_edit.html'
|
||||||
default_return_url = 'dcim:cable_list'
|
|
||||||
|
|
||||||
|
|
||||||
class CableDeleteView(ObjectDeleteView):
|
class CableDeleteView(ObjectDeleteView):
|
||||||
queryset = Cable.objects.all()
|
queryset = Cable.objects.all()
|
||||||
default_return_url = 'dcim:cable_list'
|
|
||||||
|
|
||||||
|
|
||||||
class CableBulkImportView(BulkImportView):
|
class CableBulkImportView(BulkImportView):
|
||||||
queryset = Cable.objects.all()
|
queryset = Cable.objects.all()
|
||||||
model_form = forms.CableCSVForm
|
model_form = forms.CableCSVForm
|
||||||
table = tables.CableTable
|
table = tables.CableTable
|
||||||
default_return_url = 'dcim:cable_list'
|
|
||||||
|
|
||||||
|
|
||||||
class CableBulkEditView(BulkEditView):
|
class CableBulkEditView(BulkEditView):
|
||||||
@ -1979,14 +1915,12 @@ class CableBulkEditView(BulkEditView):
|
|||||||
filterset = filters.CableFilterSet
|
filterset = filters.CableFilterSet
|
||||||
table = tables.CableTable
|
table = tables.CableTable
|
||||||
form = forms.CableBulkEditForm
|
form = forms.CableBulkEditForm
|
||||||
default_return_url = 'dcim:cable_list'
|
|
||||||
|
|
||||||
|
|
||||||
class CableBulkDeleteView(BulkDeleteView):
|
class CableBulkDeleteView(BulkDeleteView):
|
||||||
queryset = Cable.objects.prefetch_related('termination_a', 'termination_b')
|
queryset = Cable.objects.prefetch_related('termination_a', 'termination_b')
|
||||||
filterset = filters.CableFilterSet
|
filterset = filters.CableFilterSet
|
||||||
table = tables.CableTable
|
table = tables.CableTable
|
||||||
default_return_url = 'dcim:cable_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -2122,7 +2056,6 @@ class InventoryItemBulkImportView(BulkImportView):
|
|||||||
queryset = InventoryItem.objects.all()
|
queryset = InventoryItem.objects.all()
|
||||||
model_form = forms.InventoryItemCSVForm
|
model_form = forms.InventoryItemCSVForm
|
||||||
table = tables.InventoryItemTable
|
table = tables.InventoryItemTable
|
||||||
default_return_url = 'dcim:inventoryitem_list'
|
|
||||||
|
|
||||||
|
|
||||||
class InventoryItemBulkEditView(BulkEditView):
|
class InventoryItemBulkEditView(BulkEditView):
|
||||||
@ -2130,14 +2063,12 @@ class InventoryItemBulkEditView(BulkEditView):
|
|||||||
filterset = filters.InventoryItemFilterSet
|
filterset = filters.InventoryItemFilterSet
|
||||||
table = tables.InventoryItemTable
|
table = tables.InventoryItemTable
|
||||||
form = forms.InventoryItemBulkEditForm
|
form = forms.InventoryItemBulkEditForm
|
||||||
default_return_url = 'dcim:inventoryitem_list'
|
|
||||||
|
|
||||||
|
|
||||||
class InventoryItemBulkDeleteView(BulkDeleteView):
|
class InventoryItemBulkDeleteView(BulkDeleteView):
|
||||||
queryset = InventoryItem.objects.prefetch_related('device', 'manufacturer')
|
queryset = InventoryItem.objects.prefetch_related('device', 'manufacturer')
|
||||||
table = tables.InventoryItemTable
|
table = tables.InventoryItemTable
|
||||||
template_name = 'dcim/inventoryitem_bulk_delete.html'
|
template_name = 'dcim/inventoryitem_bulk_delete.html'
|
||||||
default_return_url = 'dcim:inventoryitem_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -2169,7 +2100,6 @@ class VirtualChassisCreateView(ObjectEditView):
|
|||||||
queryset = VirtualChassis.objects.all()
|
queryset = VirtualChassis.objects.all()
|
||||||
model_form = forms.VirtualChassisCreateForm
|
model_form = forms.VirtualChassisCreateForm
|
||||||
template_name = 'dcim/virtualchassis_add.html'
|
template_name = 'dcim/virtualchassis_add.html'
|
||||||
default_return_url = 'dcim:virtualchassis_list'
|
|
||||||
|
|
||||||
|
|
||||||
class VirtualChassisEditView(ObjectPermissionRequiredMixin, GetReturnURLMixin, View):
|
class VirtualChassisEditView(ObjectPermissionRequiredMixin, GetReturnURLMixin, View):
|
||||||
@ -2242,7 +2172,6 @@ class VirtualChassisEditView(ObjectPermissionRequiredMixin, GetReturnURLMixin, V
|
|||||||
|
|
||||||
class VirtualChassisDeleteView(ObjectDeleteView):
|
class VirtualChassisDeleteView(ObjectDeleteView):
|
||||||
queryset = VirtualChassis.objects.all()
|
queryset = VirtualChassis.objects.all()
|
||||||
default_return_url = 'dcim:device_list'
|
|
||||||
|
|
||||||
|
|
||||||
class VirtualChassisAddMemberView(ObjectPermissionRequiredMixin, GetReturnURLMixin, View):
|
class VirtualChassisAddMemberView(ObjectPermissionRequiredMixin, GetReturnURLMixin, View):
|
||||||
@ -2356,7 +2285,6 @@ class VirtualChassisBulkImportView(BulkImportView):
|
|||||||
queryset = VirtualChassis.objects.all()
|
queryset = VirtualChassis.objects.all()
|
||||||
model_form = forms.VirtualChassisCSVForm
|
model_form = forms.VirtualChassisCSVForm
|
||||||
table = tables.VirtualChassisTable
|
table = tables.VirtualChassisTable
|
||||||
default_return_url = 'dcim:virtualchassis_list'
|
|
||||||
|
|
||||||
|
|
||||||
class VirtualChassisBulkEditView(BulkEditView):
|
class VirtualChassisBulkEditView(BulkEditView):
|
||||||
@ -2364,14 +2292,12 @@ class VirtualChassisBulkEditView(BulkEditView):
|
|||||||
filterset = filters.VirtualChassisFilterSet
|
filterset = filters.VirtualChassisFilterSet
|
||||||
table = tables.VirtualChassisTable
|
table = tables.VirtualChassisTable
|
||||||
form = forms.VirtualChassisBulkEditForm
|
form = forms.VirtualChassisBulkEditForm
|
||||||
default_return_url = 'dcim:virtualchassis_list'
|
|
||||||
|
|
||||||
|
|
||||||
class VirtualChassisBulkDeleteView(BulkDeleteView):
|
class VirtualChassisBulkDeleteView(BulkDeleteView):
|
||||||
queryset = VirtualChassis.objects.all()
|
queryset = VirtualChassis.objects.all()
|
||||||
filterset = filters.VirtualChassisFilterSet
|
filterset = filters.VirtualChassisFilterSet
|
||||||
table = tables.VirtualChassisTable
|
table = tables.VirtualChassisTable
|
||||||
default_return_url = 'dcim:virtualchassis_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -2411,19 +2337,16 @@ class PowerPanelView(ObjectView):
|
|||||||
class PowerPanelEditView(ObjectEditView):
|
class PowerPanelEditView(ObjectEditView):
|
||||||
queryset = PowerPanel.objects.all()
|
queryset = PowerPanel.objects.all()
|
||||||
model_form = forms.PowerPanelForm
|
model_form = forms.PowerPanelForm
|
||||||
default_return_url = 'dcim:powerpanel_list'
|
|
||||||
|
|
||||||
|
|
||||||
class PowerPanelDeleteView(ObjectDeleteView):
|
class PowerPanelDeleteView(ObjectDeleteView):
|
||||||
queryset = PowerPanel.objects.all()
|
queryset = PowerPanel.objects.all()
|
||||||
default_return_url = 'dcim:powerpanel_list'
|
|
||||||
|
|
||||||
|
|
||||||
class PowerPanelBulkImportView(BulkImportView):
|
class PowerPanelBulkImportView(BulkImportView):
|
||||||
queryset = PowerPanel.objects.all()
|
queryset = PowerPanel.objects.all()
|
||||||
model_form = forms.PowerPanelCSVForm
|
model_form = forms.PowerPanelCSVForm
|
||||||
table = tables.PowerPanelTable
|
table = tables.PowerPanelTable
|
||||||
default_return_url = 'dcim:powerpanel_list'
|
|
||||||
|
|
||||||
|
|
||||||
class PowerPanelBulkEditView(BulkEditView):
|
class PowerPanelBulkEditView(BulkEditView):
|
||||||
@ -2431,7 +2354,6 @@ class PowerPanelBulkEditView(BulkEditView):
|
|||||||
filterset = filters.PowerPanelFilterSet
|
filterset = filters.PowerPanelFilterSet
|
||||||
table = tables.PowerPanelTable
|
table = tables.PowerPanelTable
|
||||||
form = forms.PowerPanelBulkEditForm
|
form = forms.PowerPanelBulkEditForm
|
||||||
default_return_url = 'dcim:powerpanel_list'
|
|
||||||
|
|
||||||
|
|
||||||
class PowerPanelBulkDeleteView(BulkDeleteView):
|
class PowerPanelBulkDeleteView(BulkDeleteView):
|
||||||
@ -2442,7 +2364,6 @@ class PowerPanelBulkDeleteView(BulkDeleteView):
|
|||||||
)
|
)
|
||||||
filterset = filters.PowerPanelFilterSet
|
filterset = filters.PowerPanelFilterSet
|
||||||
table = tables.PowerPanelTable
|
table = tables.PowerPanelTable
|
||||||
default_return_url = 'dcim:powerpanel_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -2474,19 +2395,16 @@ class PowerFeedEditView(ObjectEditView):
|
|||||||
queryset = PowerFeed.objects.all()
|
queryset = PowerFeed.objects.all()
|
||||||
model_form = forms.PowerFeedForm
|
model_form = forms.PowerFeedForm
|
||||||
template_name = 'dcim/powerfeed_edit.html'
|
template_name = 'dcim/powerfeed_edit.html'
|
||||||
default_return_url = 'dcim:powerfeed_list'
|
|
||||||
|
|
||||||
|
|
||||||
class PowerFeedDeleteView(ObjectDeleteView):
|
class PowerFeedDeleteView(ObjectDeleteView):
|
||||||
queryset = PowerFeed.objects.all()
|
queryset = PowerFeed.objects.all()
|
||||||
default_return_url = 'dcim:powerfeed_list'
|
|
||||||
|
|
||||||
|
|
||||||
class PowerFeedBulkImportView(BulkImportView):
|
class PowerFeedBulkImportView(BulkImportView):
|
||||||
queryset = PowerFeed.objects.all()
|
queryset = PowerFeed.objects.all()
|
||||||
model_form = forms.PowerFeedCSVForm
|
model_form = forms.PowerFeedCSVForm
|
||||||
table = tables.PowerFeedTable
|
table = tables.PowerFeedTable
|
||||||
default_return_url = 'dcim:powerfeed_list'
|
|
||||||
|
|
||||||
|
|
||||||
class PowerFeedBulkEditView(BulkEditView):
|
class PowerFeedBulkEditView(BulkEditView):
|
||||||
@ -2494,11 +2412,9 @@ class PowerFeedBulkEditView(BulkEditView):
|
|||||||
filterset = filters.PowerFeedFilterSet
|
filterset = filters.PowerFeedFilterSet
|
||||||
table = tables.PowerFeedTable
|
table = tables.PowerFeedTable
|
||||||
form = forms.PowerFeedBulkEditForm
|
form = forms.PowerFeedBulkEditForm
|
||||||
default_return_url = 'dcim:powerfeed_list'
|
|
||||||
|
|
||||||
|
|
||||||
class PowerFeedBulkDeleteView(BulkDeleteView):
|
class PowerFeedBulkDeleteView(BulkDeleteView):
|
||||||
queryset = PowerFeed.objects.prefetch_related('power_panel', 'rack')
|
queryset = PowerFeed.objects.prefetch_related('power_panel', 'rack')
|
||||||
filterset = filters.PowerFeedFilterSet
|
filterset = filters.PowerFeedFilterSet
|
||||||
table = tables.PowerFeedTable
|
table = tables.PowerFeedTable
|
||||||
default_return_url = 'dcim:powerfeed_list'
|
|
||||||
|
@ -70,20 +70,17 @@ class TagView(ObjectView):
|
|||||||
class TagEditView(ObjectEditView):
|
class TagEditView(ObjectEditView):
|
||||||
queryset = Tag.objects.all()
|
queryset = Tag.objects.all()
|
||||||
model_form = forms.TagForm
|
model_form = forms.TagForm
|
||||||
default_return_url = 'extras:tag_list'
|
|
||||||
template_name = 'extras/tag_edit.html'
|
template_name = 'extras/tag_edit.html'
|
||||||
|
|
||||||
|
|
||||||
class TagDeleteView(ObjectDeleteView):
|
class TagDeleteView(ObjectDeleteView):
|
||||||
queryset = Tag.objects.all()
|
queryset = Tag.objects.all()
|
||||||
default_return_url = 'extras:tag_list'
|
|
||||||
|
|
||||||
|
|
||||||
class TagBulkImportView(BulkImportView):
|
class TagBulkImportView(BulkImportView):
|
||||||
queryset = Tag.objects.all()
|
queryset = Tag.objects.all()
|
||||||
model_form = forms.TagCSVForm
|
model_form = forms.TagCSVForm
|
||||||
table = tables.TagTable
|
table = tables.TagTable
|
||||||
default_return_url = 'extras:tag_list'
|
|
||||||
|
|
||||||
|
|
||||||
class TagBulkEditView(BulkEditView):
|
class TagBulkEditView(BulkEditView):
|
||||||
@ -94,7 +91,6 @@ class TagBulkEditView(BulkEditView):
|
|||||||
)
|
)
|
||||||
table = tables.TagTable
|
table = tables.TagTable
|
||||||
form = forms.TagBulkEditForm
|
form = forms.TagBulkEditForm
|
||||||
default_return_url = 'extras:tag_list'
|
|
||||||
|
|
||||||
|
|
||||||
class TagBulkDeleteView(BulkDeleteView):
|
class TagBulkDeleteView(BulkDeleteView):
|
||||||
@ -104,7 +100,6 @@ class TagBulkDeleteView(BulkDeleteView):
|
|||||||
'name'
|
'name'
|
||||||
)
|
)
|
||||||
table = tables.TagTable
|
table = tables.TagTable
|
||||||
default_return_url = 'extras:tag_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -156,7 +151,6 @@ class ConfigContextView(ObjectView):
|
|||||||
class ConfigContextEditView(ObjectEditView):
|
class ConfigContextEditView(ObjectEditView):
|
||||||
queryset = ConfigContext.objects.all()
|
queryset = ConfigContext.objects.all()
|
||||||
model_form = forms.ConfigContextForm
|
model_form = forms.ConfigContextForm
|
||||||
default_return_url = 'extras:configcontext_list'
|
|
||||||
template_name = 'extras/configcontext_edit.html'
|
template_name = 'extras/configcontext_edit.html'
|
||||||
|
|
||||||
|
|
||||||
@ -165,18 +159,15 @@ class ConfigContextBulkEditView(BulkEditView):
|
|||||||
filterset = filters.ConfigContextFilterSet
|
filterset = filters.ConfigContextFilterSet
|
||||||
table = tables.ConfigContextTable
|
table = tables.ConfigContextTable
|
||||||
form = forms.ConfigContextBulkEditForm
|
form = forms.ConfigContextBulkEditForm
|
||||||
default_return_url = 'extras:configcontext_list'
|
|
||||||
|
|
||||||
|
|
||||||
class ConfigContextDeleteView(ObjectDeleteView):
|
class ConfigContextDeleteView(ObjectDeleteView):
|
||||||
queryset = ConfigContext.objects.all()
|
queryset = ConfigContext.objects.all()
|
||||||
default_return_url = 'extras:configcontext_list'
|
|
||||||
|
|
||||||
|
|
||||||
class ConfigContextBulkDeleteView(BulkDeleteView):
|
class ConfigContextBulkDeleteView(BulkDeleteView):
|
||||||
queryset = ConfigContext.objects.all()
|
queryset = ConfigContext.objects.all()
|
||||||
table = tables.ConfigContextTable
|
table = tables.ConfigContextTable
|
||||||
default_return_url = 'extras:configcontext_list'
|
|
||||||
|
|
||||||
|
|
||||||
class ObjectConfigContextView(ObjectView):
|
class ObjectConfigContextView(ObjectView):
|
||||||
|
@ -48,19 +48,16 @@ class VRFEditView(ObjectEditView):
|
|||||||
queryset = VRF.objects.all()
|
queryset = VRF.objects.all()
|
||||||
model_form = forms.VRFForm
|
model_form = forms.VRFForm
|
||||||
template_name = 'ipam/vrf_edit.html'
|
template_name = 'ipam/vrf_edit.html'
|
||||||
default_return_url = 'ipam:vrf_list'
|
|
||||||
|
|
||||||
|
|
||||||
class VRFDeleteView(ObjectDeleteView):
|
class VRFDeleteView(ObjectDeleteView):
|
||||||
queryset = VRF.objects.all()
|
queryset = VRF.objects.all()
|
||||||
default_return_url = 'ipam:vrf_list'
|
|
||||||
|
|
||||||
|
|
||||||
class VRFBulkImportView(BulkImportView):
|
class VRFBulkImportView(BulkImportView):
|
||||||
queryset = VRF.objects.all()
|
queryset = VRF.objects.all()
|
||||||
model_form = forms.VRFCSVForm
|
model_form = forms.VRFCSVForm
|
||||||
table = tables.VRFTable
|
table = tables.VRFTable
|
||||||
default_return_url = 'ipam:vrf_list'
|
|
||||||
|
|
||||||
|
|
||||||
class VRFBulkEditView(BulkEditView):
|
class VRFBulkEditView(BulkEditView):
|
||||||
@ -68,14 +65,12 @@ class VRFBulkEditView(BulkEditView):
|
|||||||
filterset = filters.VRFFilterSet
|
filterset = filters.VRFFilterSet
|
||||||
table = tables.VRFTable
|
table = tables.VRFTable
|
||||||
form = forms.VRFBulkEditForm
|
form = forms.VRFBulkEditForm
|
||||||
default_return_url = 'ipam:vrf_list'
|
|
||||||
|
|
||||||
|
|
||||||
class VRFBulkDeleteView(BulkDeleteView):
|
class VRFBulkDeleteView(BulkDeleteView):
|
||||||
queryset = VRF.objects.prefetch_related('tenant')
|
queryset = VRF.objects.prefetch_related('tenant')
|
||||||
filterset = filters.VRFFilterSet
|
filterset = filters.VRFFilterSet
|
||||||
table = tables.VRFTable
|
table = tables.VRFTable
|
||||||
default_return_url = 'ipam:vrf_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -163,21 +158,18 @@ class RIRListView(ObjectListView):
|
|||||||
class RIREditView(ObjectEditView):
|
class RIREditView(ObjectEditView):
|
||||||
queryset = RIR.objects.all()
|
queryset = RIR.objects.all()
|
||||||
model_form = forms.RIRForm
|
model_form = forms.RIRForm
|
||||||
default_return_url = 'ipam:rir_list'
|
|
||||||
|
|
||||||
|
|
||||||
class RIRBulkImportView(BulkImportView):
|
class RIRBulkImportView(BulkImportView):
|
||||||
queryset = RIR.objects.all()
|
queryset = RIR.objects.all()
|
||||||
model_form = forms.RIRCSVForm
|
model_form = forms.RIRCSVForm
|
||||||
table = tables.RIRTable
|
table = tables.RIRTable
|
||||||
default_return_url = 'ipam:rir_list'
|
|
||||||
|
|
||||||
|
|
||||||
class RIRBulkDeleteView(BulkDeleteView):
|
class RIRBulkDeleteView(BulkDeleteView):
|
||||||
queryset = RIR.objects.annotate(aggregate_count=Count('aggregates'))
|
queryset = RIR.objects.annotate(aggregate_count=Count('aggregates'))
|
||||||
filterset = filters.RIRFilterSet
|
filterset = filters.RIRFilterSet
|
||||||
table = tables.RIRTable
|
table = tables.RIRTable
|
||||||
default_return_url = 'ipam:rir_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -259,19 +251,16 @@ class AggregateEditView(ObjectEditView):
|
|||||||
queryset = Aggregate.objects.all()
|
queryset = Aggregate.objects.all()
|
||||||
model_form = forms.AggregateForm
|
model_form = forms.AggregateForm
|
||||||
template_name = 'ipam/aggregate_edit.html'
|
template_name = 'ipam/aggregate_edit.html'
|
||||||
default_return_url = 'ipam:aggregate_list'
|
|
||||||
|
|
||||||
|
|
||||||
class AggregateDeleteView(ObjectDeleteView):
|
class AggregateDeleteView(ObjectDeleteView):
|
||||||
queryset = Aggregate.objects.all()
|
queryset = Aggregate.objects.all()
|
||||||
default_return_url = 'ipam:aggregate_list'
|
|
||||||
|
|
||||||
|
|
||||||
class AggregateBulkImportView(BulkImportView):
|
class AggregateBulkImportView(BulkImportView):
|
||||||
queryset = Aggregate.objects.all()
|
queryset = Aggregate.objects.all()
|
||||||
model_form = forms.AggregateCSVForm
|
model_form = forms.AggregateCSVForm
|
||||||
table = tables.AggregateTable
|
table = tables.AggregateTable
|
||||||
default_return_url = 'ipam:aggregate_list'
|
|
||||||
|
|
||||||
|
|
||||||
class AggregateBulkEditView(BulkEditView):
|
class AggregateBulkEditView(BulkEditView):
|
||||||
@ -279,14 +268,12 @@ class AggregateBulkEditView(BulkEditView):
|
|||||||
filterset = filters.AggregateFilterSet
|
filterset = filters.AggregateFilterSet
|
||||||
table = tables.AggregateTable
|
table = tables.AggregateTable
|
||||||
form = forms.AggregateBulkEditForm
|
form = forms.AggregateBulkEditForm
|
||||||
default_return_url = 'ipam:aggregate_list'
|
|
||||||
|
|
||||||
|
|
||||||
class AggregateBulkDeleteView(BulkDeleteView):
|
class AggregateBulkDeleteView(BulkDeleteView):
|
||||||
queryset = Aggregate.objects.prefetch_related('rir')
|
queryset = Aggregate.objects.prefetch_related('rir')
|
||||||
filterset = filters.AggregateFilterSet
|
filterset = filters.AggregateFilterSet
|
||||||
table = tables.AggregateTable
|
table = tables.AggregateTable
|
||||||
default_return_url = 'ipam:aggregate_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -301,20 +288,17 @@ class RoleListView(ObjectListView):
|
|||||||
class RoleEditView(ObjectEditView):
|
class RoleEditView(ObjectEditView):
|
||||||
queryset = Role.objects.all()
|
queryset = Role.objects.all()
|
||||||
model_form = forms.RoleForm
|
model_form = forms.RoleForm
|
||||||
default_return_url = 'ipam:role_list'
|
|
||||||
|
|
||||||
|
|
||||||
class RoleBulkImportView(BulkImportView):
|
class RoleBulkImportView(BulkImportView):
|
||||||
queryset = Role.objects.all()
|
queryset = Role.objects.all()
|
||||||
model_form = forms.RoleCSVForm
|
model_form = forms.RoleCSVForm
|
||||||
table = tables.RoleTable
|
table = tables.RoleTable
|
||||||
default_return_url = 'ipam:role_list'
|
|
||||||
|
|
||||||
|
|
||||||
class RoleBulkDeleteView(BulkDeleteView):
|
class RoleBulkDeleteView(BulkDeleteView):
|
||||||
queryset = Role.objects.all()
|
queryset = Role.objects.all()
|
||||||
table = tables.RoleTable
|
table = tables.RoleTable
|
||||||
default_return_url = 'ipam:role_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -470,20 +454,17 @@ class PrefixEditView(ObjectEditView):
|
|||||||
queryset = Prefix.objects.all()
|
queryset = Prefix.objects.all()
|
||||||
model_form = forms.PrefixForm
|
model_form = forms.PrefixForm
|
||||||
template_name = 'ipam/prefix_edit.html'
|
template_name = 'ipam/prefix_edit.html'
|
||||||
default_return_url = 'ipam:prefix_list'
|
|
||||||
|
|
||||||
|
|
||||||
class PrefixDeleteView(ObjectDeleteView):
|
class PrefixDeleteView(ObjectDeleteView):
|
||||||
queryset = Prefix.objects.all()
|
queryset = Prefix.objects.all()
|
||||||
template_name = 'ipam/prefix_delete.html'
|
template_name = 'ipam/prefix_delete.html'
|
||||||
default_return_url = 'ipam:prefix_list'
|
|
||||||
|
|
||||||
|
|
||||||
class PrefixBulkImportView(BulkImportView):
|
class PrefixBulkImportView(BulkImportView):
|
||||||
queryset = Prefix.objects.all()
|
queryset = Prefix.objects.all()
|
||||||
model_form = forms.PrefixCSVForm
|
model_form = forms.PrefixCSVForm
|
||||||
table = tables.PrefixTable
|
table = tables.PrefixTable
|
||||||
default_return_url = 'ipam:prefix_list'
|
|
||||||
|
|
||||||
|
|
||||||
class PrefixBulkEditView(BulkEditView):
|
class PrefixBulkEditView(BulkEditView):
|
||||||
@ -491,14 +472,12 @@ class PrefixBulkEditView(BulkEditView):
|
|||||||
filterset = filters.PrefixFilterSet
|
filterset = filters.PrefixFilterSet
|
||||||
table = tables.PrefixTable
|
table = tables.PrefixTable
|
||||||
form = forms.PrefixBulkEditForm
|
form = forms.PrefixBulkEditForm
|
||||||
default_return_url = 'ipam:prefix_list'
|
|
||||||
|
|
||||||
|
|
||||||
class PrefixBulkDeleteView(BulkDeleteView):
|
class PrefixBulkDeleteView(BulkDeleteView):
|
||||||
queryset = Prefix.objects.prefetch_related('site', 'vrf__tenant', 'tenant', 'vlan', 'role')
|
queryset = Prefix.objects.prefetch_related('site', 'vrf__tenant', 'tenant', 'vlan', 'role')
|
||||||
filterset = filters.PrefixFilterSet
|
filterset = filters.PrefixFilterSet
|
||||||
table = tables.PrefixTable
|
table = tables.PrefixTable
|
||||||
default_return_url = 'ipam:prefix_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -569,7 +548,6 @@ class IPAddressEditView(ObjectEditView):
|
|||||||
queryset = IPAddress.objects.all()
|
queryset = IPAddress.objects.all()
|
||||||
model_form = forms.IPAddressForm
|
model_form = forms.IPAddressForm
|
||||||
template_name = 'ipam/ipaddress_edit.html'
|
template_name = 'ipam/ipaddress_edit.html'
|
||||||
default_return_url = 'ipam:ipaddress_list'
|
|
||||||
|
|
||||||
def alter_obj(self, obj, request, url_args, url_kwargs):
|
def alter_obj(self, obj, request, url_args, url_kwargs):
|
||||||
|
|
||||||
@ -630,7 +608,6 @@ class IPAddressAssignView(ObjectView):
|
|||||||
|
|
||||||
class IPAddressDeleteView(ObjectDeleteView):
|
class IPAddressDeleteView(ObjectDeleteView):
|
||||||
queryset = IPAddress.objects.all()
|
queryset = IPAddress.objects.all()
|
||||||
default_return_url = 'ipam:ipaddress_list'
|
|
||||||
|
|
||||||
|
|
||||||
class IPAddressBulkCreateView(BulkCreateView):
|
class IPAddressBulkCreateView(BulkCreateView):
|
||||||
@ -639,14 +616,12 @@ class IPAddressBulkCreateView(BulkCreateView):
|
|||||||
model_form = forms.IPAddressBulkAddForm
|
model_form = forms.IPAddressBulkAddForm
|
||||||
pattern_target = 'address'
|
pattern_target = 'address'
|
||||||
template_name = 'ipam/ipaddress_bulk_add.html'
|
template_name = 'ipam/ipaddress_bulk_add.html'
|
||||||
default_return_url = 'ipam:ipaddress_list'
|
|
||||||
|
|
||||||
|
|
||||||
class IPAddressBulkImportView(BulkImportView):
|
class IPAddressBulkImportView(BulkImportView):
|
||||||
queryset = IPAddress.objects.all()
|
queryset = IPAddress.objects.all()
|
||||||
model_form = forms.IPAddressCSVForm
|
model_form = forms.IPAddressCSVForm
|
||||||
table = tables.IPAddressTable
|
table = tables.IPAddressTable
|
||||||
default_return_url = 'ipam:ipaddress_list'
|
|
||||||
|
|
||||||
|
|
||||||
class IPAddressBulkEditView(BulkEditView):
|
class IPAddressBulkEditView(BulkEditView):
|
||||||
@ -654,14 +629,12 @@ class IPAddressBulkEditView(BulkEditView):
|
|||||||
filterset = filters.IPAddressFilterSet
|
filterset = filters.IPAddressFilterSet
|
||||||
table = tables.IPAddressTable
|
table = tables.IPAddressTable
|
||||||
form = forms.IPAddressBulkEditForm
|
form = forms.IPAddressBulkEditForm
|
||||||
default_return_url = 'ipam:ipaddress_list'
|
|
||||||
|
|
||||||
|
|
||||||
class IPAddressBulkDeleteView(BulkDeleteView):
|
class IPAddressBulkDeleteView(BulkDeleteView):
|
||||||
queryset = IPAddress.objects.prefetch_related('vrf__tenant', 'tenant')
|
queryset = IPAddress.objects.prefetch_related('vrf__tenant', 'tenant')
|
||||||
filterset = filters.IPAddressFilterSet
|
filterset = filters.IPAddressFilterSet
|
||||||
table = tables.IPAddressTable
|
table = tables.IPAddressTable
|
||||||
default_return_url = 'ipam:ipaddress_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -678,21 +651,18 @@ class VLANGroupListView(ObjectListView):
|
|||||||
class VLANGroupEditView(ObjectEditView):
|
class VLANGroupEditView(ObjectEditView):
|
||||||
queryset = VLANGroup.objects.all()
|
queryset = VLANGroup.objects.all()
|
||||||
model_form = forms.VLANGroupForm
|
model_form = forms.VLANGroupForm
|
||||||
default_return_url = 'ipam:vlangroup_list'
|
|
||||||
|
|
||||||
|
|
||||||
class VLANGroupBulkImportView(BulkImportView):
|
class VLANGroupBulkImportView(BulkImportView):
|
||||||
queryset = VLANGroup.objects.all()
|
queryset = VLANGroup.objects.all()
|
||||||
model_form = forms.VLANGroupCSVForm
|
model_form = forms.VLANGroupCSVForm
|
||||||
table = tables.VLANGroupTable
|
table = tables.VLANGroupTable
|
||||||
default_return_url = 'ipam:vlangroup_list'
|
|
||||||
|
|
||||||
|
|
||||||
class VLANGroupBulkDeleteView(BulkDeleteView):
|
class VLANGroupBulkDeleteView(BulkDeleteView):
|
||||||
queryset = VLANGroup.objects.prefetch_related('site').annotate(vlan_count=Count('vlans'))
|
queryset = VLANGroup.objects.prefetch_related('site').annotate(vlan_count=Count('vlans'))
|
||||||
filterset = filters.VLANGroupFilterSet
|
filterset = filters.VLANGroupFilterSet
|
||||||
table = tables.VLANGroupTable
|
table = tables.VLANGroupTable
|
||||||
default_return_url = 'ipam:vlangroup_list'
|
|
||||||
|
|
||||||
|
|
||||||
class VLANGroupVLANsView(ObjectView):
|
class VLANGroupVLANsView(ObjectView):
|
||||||
@ -789,19 +759,16 @@ class VLANEditView(ObjectEditView):
|
|||||||
queryset = VLAN.objects.all()
|
queryset = VLAN.objects.all()
|
||||||
model_form = forms.VLANForm
|
model_form = forms.VLANForm
|
||||||
template_name = 'ipam/vlan_edit.html'
|
template_name = 'ipam/vlan_edit.html'
|
||||||
default_return_url = 'ipam:vlan_list'
|
|
||||||
|
|
||||||
|
|
||||||
class VLANDeleteView(ObjectDeleteView):
|
class VLANDeleteView(ObjectDeleteView):
|
||||||
queryset = VLAN.objects.all()
|
queryset = VLAN.objects.all()
|
||||||
default_return_url = 'ipam:vlan_list'
|
|
||||||
|
|
||||||
|
|
||||||
class VLANBulkImportView(BulkImportView):
|
class VLANBulkImportView(BulkImportView):
|
||||||
queryset = VLAN.objects.all()
|
queryset = VLAN.objects.all()
|
||||||
model_form = forms.VLANCSVForm
|
model_form = forms.VLANCSVForm
|
||||||
table = tables.VLANTable
|
table = tables.VLANTable
|
||||||
default_return_url = 'ipam:vlan_list'
|
|
||||||
|
|
||||||
|
|
||||||
class VLANBulkEditView(BulkEditView):
|
class VLANBulkEditView(BulkEditView):
|
||||||
@ -809,14 +776,12 @@ class VLANBulkEditView(BulkEditView):
|
|||||||
filterset = filters.VLANFilterSet
|
filterset = filters.VLANFilterSet
|
||||||
table = tables.VLANTable
|
table = tables.VLANTable
|
||||||
form = forms.VLANBulkEditForm
|
form = forms.VLANBulkEditForm
|
||||||
default_return_url = 'ipam:vlan_list'
|
|
||||||
|
|
||||||
|
|
||||||
class VLANBulkDeleteView(BulkDeleteView):
|
class VLANBulkDeleteView(BulkDeleteView):
|
||||||
queryset = VLAN.objects.prefetch_related('site', 'group', 'tenant', 'role')
|
queryset = VLAN.objects.prefetch_related('site', 'group', 'tenant', 'role')
|
||||||
filterset = filters.VLANFilterSet
|
filterset = filters.VLANFilterSet
|
||||||
table = tables.VLANTable
|
table = tables.VLANTable
|
||||||
default_return_url = 'ipam:vlan_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -863,7 +828,6 @@ class ServiceBulkImportView(BulkImportView):
|
|||||||
queryset = Service.objects.all()
|
queryset = Service.objects.all()
|
||||||
model_form = forms.ServiceCSVForm
|
model_form = forms.ServiceCSVForm
|
||||||
table = tables.ServiceTable
|
table = tables.ServiceTable
|
||||||
default_return_url = 'ipam:service_list'
|
|
||||||
|
|
||||||
|
|
||||||
class ServiceDeleteView(ObjectDeleteView):
|
class ServiceDeleteView(ObjectDeleteView):
|
||||||
@ -875,11 +839,9 @@ class ServiceBulkEditView(BulkEditView):
|
|||||||
filterset = filters.ServiceFilterSet
|
filterset = filters.ServiceFilterSet
|
||||||
table = tables.ServiceTable
|
table = tables.ServiceTable
|
||||||
form = forms.ServiceBulkEditForm
|
form = forms.ServiceBulkEditForm
|
||||||
default_return_url = 'ipam:service_list'
|
|
||||||
|
|
||||||
|
|
||||||
class ServiceBulkDeleteView(BulkDeleteView):
|
class ServiceBulkDeleteView(BulkDeleteView):
|
||||||
queryset = Service.objects.prefetch_related('device', 'virtual_machine')
|
queryset = Service.objects.prefetch_related('device', 'virtual_machine')
|
||||||
filterset = filters.ServiceFilterSet
|
filterset = filters.ServiceFilterSet
|
||||||
table = tables.ServiceTable
|
table = tables.ServiceTable
|
||||||
default_return_url = 'ipam:service_list'
|
|
||||||
|
@ -36,20 +36,17 @@ class SecretRoleListView(ObjectListView):
|
|||||||
class SecretRoleEditView(ObjectEditView):
|
class SecretRoleEditView(ObjectEditView):
|
||||||
queryset = SecretRole.objects.all()
|
queryset = SecretRole.objects.all()
|
||||||
model_form = forms.SecretRoleForm
|
model_form = forms.SecretRoleForm
|
||||||
default_return_url = 'secrets:secretrole_list'
|
|
||||||
|
|
||||||
|
|
||||||
class SecretRoleBulkImportView(BulkImportView):
|
class SecretRoleBulkImportView(BulkImportView):
|
||||||
queryset = SecretRole.objects.all()
|
queryset = SecretRole.objects.all()
|
||||||
model_form = forms.SecretRoleCSVForm
|
model_form = forms.SecretRoleCSVForm
|
||||||
table = tables.SecretRoleTable
|
table = tables.SecretRoleTable
|
||||||
default_return_url = 'secrets:secretrole_list'
|
|
||||||
|
|
||||||
|
|
||||||
class SecretRoleBulkDeleteView(BulkDeleteView):
|
class SecretRoleBulkDeleteView(BulkDeleteView):
|
||||||
queryset = SecretRole.objects.annotate(secret_count=Count('secrets'))
|
queryset = SecretRole.objects.annotate(secret_count=Count('secrets'))
|
||||||
table = tables.SecretRoleTable
|
table = tables.SecretRoleTable
|
||||||
default_return_url = 'secrets:secretrole_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -147,7 +144,6 @@ class SecretEditView(ObjectEditView):
|
|||||||
|
|
||||||
class SecretDeleteView(ObjectDeleteView):
|
class SecretDeleteView(ObjectDeleteView):
|
||||||
queryset = Secret.objects.all()
|
queryset = Secret.objects.all()
|
||||||
default_return_url = 'secrets:secret_list'
|
|
||||||
|
|
||||||
|
|
||||||
class SecretBulkImportView(BulkImportView):
|
class SecretBulkImportView(BulkImportView):
|
||||||
@ -155,7 +151,6 @@ class SecretBulkImportView(BulkImportView):
|
|||||||
model_form = forms.SecretCSVForm
|
model_form = forms.SecretCSVForm
|
||||||
table = tables.SecretTable
|
table = tables.SecretTable
|
||||||
template_name = 'secrets/secret_import.html'
|
template_name = 'secrets/secret_import.html'
|
||||||
default_return_url = 'secrets:secret_list'
|
|
||||||
widget_attrs = {'class': 'requires-session-key'}
|
widget_attrs = {'class': 'requires-session-key'}
|
||||||
|
|
||||||
master_key = None
|
master_key = None
|
||||||
@ -203,11 +198,9 @@ class SecretBulkEditView(BulkEditView):
|
|||||||
filterset = filters.SecretFilterSet
|
filterset = filters.SecretFilterSet
|
||||||
table = tables.SecretTable
|
table = tables.SecretTable
|
||||||
form = forms.SecretBulkEditForm
|
form = forms.SecretBulkEditForm
|
||||||
default_return_url = 'secrets:secret_list'
|
|
||||||
|
|
||||||
|
|
||||||
class SecretBulkDeleteView(BulkDeleteView):
|
class SecretBulkDeleteView(BulkDeleteView):
|
||||||
queryset = Secret.objects.prefetch_related('role', 'device')
|
queryset = Secret.objects.prefetch_related('role', 'device')
|
||||||
filterset = filters.SecretFilterSet
|
filterset = filters.SecretFilterSet
|
||||||
table = tables.SecretTable
|
table = tables.SecretTable
|
||||||
default_return_url = 'secrets:secret_list'
|
|
||||||
|
@ -30,20 +30,17 @@ class TenantGroupListView(ObjectListView):
|
|||||||
class TenantGroupEditView(ObjectEditView):
|
class TenantGroupEditView(ObjectEditView):
|
||||||
queryset = TenantGroup.objects.all()
|
queryset = TenantGroup.objects.all()
|
||||||
model_form = forms.TenantGroupForm
|
model_form = forms.TenantGroupForm
|
||||||
default_return_url = 'tenancy:tenantgroup_list'
|
|
||||||
|
|
||||||
|
|
||||||
class TenantGroupBulkImportView(BulkImportView):
|
class TenantGroupBulkImportView(BulkImportView):
|
||||||
queryset = TenantGroup.objects.all()
|
queryset = TenantGroup.objects.all()
|
||||||
model_form = forms.TenantGroupCSVForm
|
model_form = forms.TenantGroupCSVForm
|
||||||
table = tables.TenantGroupTable
|
table = tables.TenantGroupTable
|
||||||
default_return_url = 'tenancy:tenantgroup_list'
|
|
||||||
|
|
||||||
|
|
||||||
class TenantGroupBulkDeleteView(BulkDeleteView):
|
class TenantGroupBulkDeleteView(BulkDeleteView):
|
||||||
queryset = TenantGroup.objects.annotate(tenant_count=Count('tenants'))
|
queryset = TenantGroup.objects.annotate(tenant_count=Count('tenants'))
|
||||||
table = tables.TenantGroupTable
|
table = tables.TenantGroupTable
|
||||||
default_return_url = 'tenancy:tenantgroup_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -87,19 +84,16 @@ class TenantEditView(ObjectEditView):
|
|||||||
queryset = Tenant.objects.all()
|
queryset = Tenant.objects.all()
|
||||||
model_form = forms.TenantForm
|
model_form = forms.TenantForm
|
||||||
template_name = 'tenancy/tenant_edit.html'
|
template_name = 'tenancy/tenant_edit.html'
|
||||||
default_return_url = 'tenancy:tenant_list'
|
|
||||||
|
|
||||||
|
|
||||||
class TenantDeleteView(ObjectDeleteView):
|
class TenantDeleteView(ObjectDeleteView):
|
||||||
queryset = Tenant.objects.all()
|
queryset = Tenant.objects.all()
|
||||||
default_return_url = 'tenancy:tenant_list'
|
|
||||||
|
|
||||||
|
|
||||||
class TenantBulkImportView(BulkImportView):
|
class TenantBulkImportView(BulkImportView):
|
||||||
queryset = Tenant.objects.all()
|
queryset = Tenant.objects.all()
|
||||||
model_form = forms.TenantCSVForm
|
model_form = forms.TenantCSVForm
|
||||||
table = tables.TenantTable
|
table = tables.TenantTable
|
||||||
default_return_url = 'tenancy:tenant_list'
|
|
||||||
|
|
||||||
|
|
||||||
class TenantBulkEditView(BulkEditView):
|
class TenantBulkEditView(BulkEditView):
|
||||||
@ -107,11 +101,9 @@ class TenantBulkEditView(BulkEditView):
|
|||||||
filterset = filters.TenantFilterSet
|
filterset = filters.TenantFilterSet
|
||||||
table = tables.TenantTable
|
table = tables.TenantTable
|
||||||
form = forms.TenantBulkEditForm
|
form = forms.TenantBulkEditForm
|
||||||
default_return_url = 'tenancy:tenant_list'
|
|
||||||
|
|
||||||
|
|
||||||
class TenantBulkDeleteView(BulkDeleteView):
|
class TenantBulkDeleteView(BulkDeleteView):
|
||||||
queryset = Tenant.objects.prefetch_related('group')
|
queryset = Tenant.objects.prefetch_related('group')
|
||||||
filterset = filters.TenantFilterSet
|
filterset = filters.TenantFilterSet
|
||||||
table = tables.TenantTable
|
table = tables.TenantTable
|
||||||
default_return_url = 'tenancy:tenant_list'
|
|
||||||
|
@ -16,6 +16,7 @@ from django.shortcuts import get_object_or_404, redirect, render
|
|||||||
from django.template import loader
|
from django.template import loader
|
||||||
from django.template.exceptions import TemplateDoesNotExist
|
from django.template.exceptions import TemplateDoesNotExist
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
|
from django.urls.exceptions import NoReverseMatch
|
||||||
from django.utils.decorators import method_decorator
|
from django.utils.decorators import method_decorator
|
||||||
from django.utils.html import escape
|
from django.utils.html import escape
|
||||||
from django.utils.http import is_safe_url
|
from django.utils.http import is_safe_url
|
||||||
@ -86,7 +87,7 @@ class ObjectPermissionRequiredMixin(AccessMixin):
|
|||||||
return super().dispatch(request, *args, **kwargs)
|
return super().dispatch(request, *args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
class GetReturnURLMixin(object):
|
class GetReturnURLMixin:
|
||||||
"""
|
"""
|
||||||
Provides logic for determining where a user should be redirected after processing a form.
|
Provides logic for determining where a user should be redirected after processing a form.
|
||||||
"""
|
"""
|
||||||
@ -101,13 +102,21 @@ class GetReturnURLMixin(object):
|
|||||||
return query_param
|
return query_param
|
||||||
|
|
||||||
# Next, check if the object being modified (if any) has an absolute URL.
|
# Next, check if the object being modified (if any) has an absolute URL.
|
||||||
elif obj is not None and obj.pk and hasattr(obj, 'get_absolute_url'):
|
if obj is not None and obj.pk and hasattr(obj, 'get_absolute_url'):
|
||||||
return obj.get_absolute_url()
|
return obj.get_absolute_url()
|
||||||
|
|
||||||
# Fall back to the default URL (if specified) for the view.
|
# Fall back to the default URL (if specified) for the view.
|
||||||
elif self.default_return_url is not None:
|
if self.default_return_url is not None:
|
||||||
return reverse(self.default_return_url)
|
return reverse(self.default_return_url)
|
||||||
|
|
||||||
|
# Attempt to dynamically resolve the list view for the object
|
||||||
|
if hasattr(self, 'queryset'):
|
||||||
|
model_opts = self.queryset.model._meta
|
||||||
|
try:
|
||||||
|
return reverse(f'{model_opts.app_label}:{model_opts.model_name}_list')
|
||||||
|
except NoReverseMatch:
|
||||||
|
pass
|
||||||
|
|
||||||
# If all else fails, return home. Ideally this should never happen.
|
# If all else fails, return home. Ideally this should never happen.
|
||||||
return reverse('home')
|
return reverse('home')
|
||||||
|
|
||||||
|
@ -29,20 +29,17 @@ class ClusterTypeListView(ObjectListView):
|
|||||||
class ClusterTypeEditView(ObjectEditView):
|
class ClusterTypeEditView(ObjectEditView):
|
||||||
queryset = ClusterType.objects.all()
|
queryset = ClusterType.objects.all()
|
||||||
model_form = forms.ClusterTypeForm
|
model_form = forms.ClusterTypeForm
|
||||||
default_return_url = 'virtualization:clustertype_list'
|
|
||||||
|
|
||||||
|
|
||||||
class ClusterTypeBulkImportView(BulkImportView):
|
class ClusterTypeBulkImportView(BulkImportView):
|
||||||
queryset = ClusterType.objects.all()
|
queryset = ClusterType.objects.all()
|
||||||
model_form = forms.ClusterTypeCSVForm
|
model_form = forms.ClusterTypeCSVForm
|
||||||
table = tables.ClusterTypeTable
|
table = tables.ClusterTypeTable
|
||||||
default_return_url = 'virtualization:clustertype_list'
|
|
||||||
|
|
||||||
|
|
||||||
class ClusterTypeBulkDeleteView(BulkDeleteView):
|
class ClusterTypeBulkDeleteView(BulkDeleteView):
|
||||||
queryset = ClusterType.objects.annotate(cluster_count=Count('clusters'))
|
queryset = ClusterType.objects.annotate(cluster_count=Count('clusters'))
|
||||||
table = tables.ClusterTypeTable
|
table = tables.ClusterTypeTable
|
||||||
default_return_url = 'virtualization:clustertype_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -57,20 +54,17 @@ class ClusterGroupListView(ObjectListView):
|
|||||||
class ClusterGroupEditView(ObjectEditView):
|
class ClusterGroupEditView(ObjectEditView):
|
||||||
queryset = ClusterGroup.objects.all()
|
queryset = ClusterGroup.objects.all()
|
||||||
model_form = forms.ClusterGroupForm
|
model_form = forms.ClusterGroupForm
|
||||||
default_return_url = 'virtualization:clustergroup_list'
|
|
||||||
|
|
||||||
|
|
||||||
class ClusterGroupBulkImportView(BulkImportView):
|
class ClusterGroupBulkImportView(BulkImportView):
|
||||||
queryset = ClusterGroup.objects.all()
|
queryset = ClusterGroup.objects.all()
|
||||||
model_form = forms.ClusterGroupCSVForm
|
model_form = forms.ClusterGroupCSVForm
|
||||||
table = tables.ClusterGroupTable
|
table = tables.ClusterGroupTable
|
||||||
default_return_url = 'virtualization:clustergroup_list'
|
|
||||||
|
|
||||||
|
|
||||||
class ClusterGroupBulkDeleteView(BulkDeleteView):
|
class ClusterGroupBulkDeleteView(BulkDeleteView):
|
||||||
queryset = ClusterGroup.objects.annotate(cluster_count=Count('clusters'))
|
queryset = ClusterGroup.objects.annotate(cluster_count=Count('clusters'))
|
||||||
table = tables.ClusterGroupTable
|
table = tables.ClusterGroupTable
|
||||||
default_return_url = 'virtualization:clustergroup_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -114,14 +108,12 @@ class ClusterEditView(ObjectEditView):
|
|||||||
|
|
||||||
class ClusterDeleteView(ObjectDeleteView):
|
class ClusterDeleteView(ObjectDeleteView):
|
||||||
queryset = Cluster.objects.all()
|
queryset = Cluster.objects.all()
|
||||||
default_return_url = 'virtualization:cluster_list'
|
|
||||||
|
|
||||||
|
|
||||||
class ClusterBulkImportView(BulkImportView):
|
class ClusterBulkImportView(BulkImportView):
|
||||||
queryset = Cluster.objects.all()
|
queryset = Cluster.objects.all()
|
||||||
model_form = forms.ClusterCSVForm
|
model_form = forms.ClusterCSVForm
|
||||||
table = tables.ClusterTable
|
table = tables.ClusterTable
|
||||||
default_return_url = 'virtualization:cluster_list'
|
|
||||||
|
|
||||||
|
|
||||||
class ClusterBulkEditView(BulkEditView):
|
class ClusterBulkEditView(BulkEditView):
|
||||||
@ -129,14 +121,12 @@ class ClusterBulkEditView(BulkEditView):
|
|||||||
filterset = filters.ClusterFilterSet
|
filterset = filters.ClusterFilterSet
|
||||||
table = tables.ClusterTable
|
table = tables.ClusterTable
|
||||||
form = forms.ClusterBulkEditForm
|
form = forms.ClusterBulkEditForm
|
||||||
default_return_url = 'virtualization:cluster_list'
|
|
||||||
|
|
||||||
|
|
||||||
class ClusterBulkDeleteView(BulkDeleteView):
|
class ClusterBulkDeleteView(BulkDeleteView):
|
||||||
queryset = Cluster.objects.prefetch_related('type', 'group', 'site')
|
queryset = Cluster.objects.prefetch_related('type', 'group', 'site')
|
||||||
filterset = filters.ClusterFilterSet
|
filterset = filters.ClusterFilterSet
|
||||||
table = tables.ClusterTable
|
table = tables.ClusterTable
|
||||||
default_return_url = 'virtualization:cluster_list'
|
|
||||||
|
|
||||||
|
|
||||||
class ClusterAddDevicesView(ObjectEditView):
|
class ClusterAddDevicesView(ObjectEditView):
|
||||||
@ -266,19 +256,16 @@ class VirtualMachineEditView(ObjectEditView):
|
|||||||
queryset = VirtualMachine.objects.all()
|
queryset = VirtualMachine.objects.all()
|
||||||
model_form = forms.VirtualMachineForm
|
model_form = forms.VirtualMachineForm
|
||||||
template_name = 'virtualization/virtualmachine_edit.html'
|
template_name = 'virtualization/virtualmachine_edit.html'
|
||||||
default_return_url = 'virtualization:virtualmachine_list'
|
|
||||||
|
|
||||||
|
|
||||||
class VirtualMachineDeleteView(ObjectDeleteView):
|
class VirtualMachineDeleteView(ObjectDeleteView):
|
||||||
queryset = VirtualMachine.objects.all()
|
queryset = VirtualMachine.objects.all()
|
||||||
default_return_url = 'virtualization:virtualmachine_list'
|
|
||||||
|
|
||||||
|
|
||||||
class VirtualMachineBulkImportView(BulkImportView):
|
class VirtualMachineBulkImportView(BulkImportView):
|
||||||
queryset = VirtualMachine.objects.all()
|
queryset = VirtualMachine.objects.all()
|
||||||
model_form = forms.VirtualMachineCSVForm
|
model_form = forms.VirtualMachineCSVForm
|
||||||
table = tables.VirtualMachineTable
|
table = tables.VirtualMachineTable
|
||||||
default_return_url = 'virtualization:virtualmachine_list'
|
|
||||||
|
|
||||||
|
|
||||||
class VirtualMachineBulkEditView(BulkEditView):
|
class VirtualMachineBulkEditView(BulkEditView):
|
||||||
@ -286,14 +273,12 @@ class VirtualMachineBulkEditView(BulkEditView):
|
|||||||
filterset = filters.VirtualMachineFilterSet
|
filterset = filters.VirtualMachineFilterSet
|
||||||
table = tables.VirtualMachineTable
|
table = tables.VirtualMachineTable
|
||||||
form = forms.VirtualMachineBulkEditForm
|
form = forms.VirtualMachineBulkEditForm
|
||||||
default_return_url = 'virtualization:virtualmachine_list'
|
|
||||||
|
|
||||||
|
|
||||||
class VirtualMachineBulkDeleteView(BulkDeleteView):
|
class VirtualMachineBulkDeleteView(BulkDeleteView):
|
||||||
queryset = VirtualMachine.objects.prefetch_related('cluster', 'tenant', 'role')
|
queryset = VirtualMachine.objects.prefetch_related('cluster', 'tenant', 'role')
|
||||||
filterset = filters.VirtualMachineFilterSet
|
filterset = filters.VirtualMachineFilterSet
|
||||||
table = tables.VirtualMachineTable
|
table = tables.VirtualMachineTable
|
||||||
default_return_url = 'virtualization:virtualmachine_list'
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -364,7 +349,6 @@ class VMInterfaceBulkImportView(BulkImportView):
|
|||||||
queryset = VMInterface.objects.all()
|
queryset = VMInterface.objects.all()
|
||||||
model_form = forms.VMInterfaceCSVForm
|
model_form = forms.VMInterfaceCSVForm
|
||||||
table = tables.VMInterfaceTable
|
table = tables.VMInterfaceTable
|
||||||
default_return_url = 'virtualization:vminterface_list'
|
|
||||||
|
|
||||||
|
|
||||||
class VMInterfaceBulkEditView(BulkEditView):
|
class VMInterfaceBulkEditView(BulkEditView):
|
||||||
@ -395,4 +379,3 @@ class VirtualMachineBulkAddInterfaceView(BulkComponentCreateView):
|
|||||||
model_form = forms.VMInterfaceForm
|
model_form = forms.VMInterfaceForm
|
||||||
filterset = filters.VirtualMachineFilterSet
|
filterset = filters.VirtualMachineFilterSet
|
||||||
table = tables.VirtualMachineTable
|
table = tables.VirtualMachineTable
|
||||||
default_return_url = 'virtualization:virtualmachine_list'
|
|
||||||
|
Loading…
Reference in New Issue
Block a user