mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
#4624: Refactor ObjectEditView to use a queryset
This commit is contained in:
@ -62,7 +62,7 @@ class ProviderView(PermissionRequiredMixin, View):
|
||||
|
||||
class ProviderCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'circuits.add_provider'
|
||||
model = Provider
|
||||
queryset = Provider.objects.all()
|
||||
model_form = forms.ProviderForm
|
||||
template_name = 'circuits/provider_edit.html'
|
||||
default_return_url = 'circuits:provider_list'
|
||||
@ -114,7 +114,7 @@ class CircuitTypeListView(PermissionRequiredMixin, ObjectListView):
|
||||
|
||||
class CircuitTypeCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'circuits.add_circuittype'
|
||||
model = CircuitType
|
||||
queryset = CircuitType.objects.all()
|
||||
model_form = forms.CircuitTypeForm
|
||||
default_return_url = 'circuits:circuittype_list'
|
||||
|
||||
@ -178,7 +178,7 @@ class CircuitView(PermissionRequiredMixin, View):
|
||||
|
||||
class CircuitCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'circuits.add_circuit'
|
||||
model = Circuit
|
||||
queryset = Circuit.objects.all()
|
||||
model_form = forms.CircuitForm
|
||||
template_name = 'circuits/circuit_edit.html'
|
||||
default_return_url = 'circuits:circuit_list'
|
||||
@ -273,7 +273,7 @@ def circuit_terminations_swap(request, pk):
|
||||
|
||||
class CircuitTerminationCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'circuits.add_circuittermination'
|
||||
model = CircuitTermination
|
||||
queryset = CircuitTermination.objects.all()
|
||||
model_form = forms.CircuitTerminationForm
|
||||
template_name = 'circuits/circuittermination_edit.html'
|
||||
|
||||
|
@ -157,7 +157,7 @@ class RegionListView(PermissionRequiredMixin, ObjectListView):
|
||||
|
||||
class RegionCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.add_region'
|
||||
model = Region
|
||||
queryset = Region.objects.all()
|
||||
model_form = forms.RegionForm
|
||||
default_return_url = 'dcim:region_list'
|
||||
|
||||
@ -220,7 +220,7 @@ class SiteView(PermissionRequiredMixin, View):
|
||||
|
||||
class SiteCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.add_site'
|
||||
model = Site
|
||||
queryset = Site.objects.all()
|
||||
model_form = forms.SiteForm
|
||||
template_name = 'dcim/site_edit.html'
|
||||
default_return_url = 'dcim:site_list'
|
||||
@ -280,7 +280,7 @@ class RackGroupListView(PermissionRequiredMixin, ObjectListView):
|
||||
|
||||
class RackGroupCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.add_rackgroup'
|
||||
model = RackGroup
|
||||
queryset = RackGroup.objects.all()
|
||||
model_form = forms.RackGroupForm
|
||||
default_return_url = 'dcim:rackgroup_list'
|
||||
|
||||
@ -316,7 +316,7 @@ class RackRoleListView(PermissionRequiredMixin, ObjectListView):
|
||||
|
||||
class RackRoleCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.add_rackrole'
|
||||
model = RackRole
|
||||
queryset = RackRole.objects.all()
|
||||
model_form = forms.RackRoleForm
|
||||
default_return_url = 'dcim:rackrole_list'
|
||||
|
||||
@ -426,7 +426,7 @@ class RackView(PermissionRequiredMixin, View):
|
||||
|
||||
class RackCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.add_rack'
|
||||
model = Rack
|
||||
queryset = Rack.objects.all()
|
||||
model_form = forms.RackForm
|
||||
template_name = 'dcim/rack_edit.html'
|
||||
default_return_url = 'dcim:rack_list'
|
||||
@ -493,7 +493,7 @@ class RackReservationView(PermissionRequiredMixin, View):
|
||||
|
||||
class RackReservationCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.add_rackreservation'
|
||||
model = RackReservation
|
||||
queryset = RackReservation.objects.all()
|
||||
model_form = forms.RackReservationForm
|
||||
template_name = 'dcim/rackreservation_edit.html'
|
||||
default_return_url = 'dcim:rackreservation_list'
|
||||
@ -566,7 +566,7 @@ class ManufacturerListView(PermissionRequiredMixin, ObjectListView):
|
||||
|
||||
class ManufacturerCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.add_manufacturer'
|
||||
model = Manufacturer
|
||||
queryset = Manufacturer.objects.all()
|
||||
model_form = forms.ManufacturerForm
|
||||
default_return_url = 'dcim:manufacturer_list'
|
||||
|
||||
@ -666,7 +666,7 @@ class DeviceTypeView(PermissionRequiredMixin, View):
|
||||
|
||||
class DeviceTypeCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.add_devicetype'
|
||||
model = DeviceType
|
||||
queryset = DeviceType.objects.all()
|
||||
model_form = forms.DeviceTypeForm
|
||||
template_name = 'dcim/devicetype_edit.html'
|
||||
default_return_url = 'dcim:devicetype_list'
|
||||
@ -740,7 +740,7 @@ class ConsolePortTemplateCreateView(PermissionRequiredMixin, ComponentCreateView
|
||||
|
||||
class ConsolePortTemplateEditView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.change_consoleporttemplate'
|
||||
model = ConsolePortTemplate
|
||||
queryset = ConsolePortTemplate.objects.all()
|
||||
model_form = forms.ConsolePortTemplateForm
|
||||
|
||||
|
||||
@ -776,7 +776,7 @@ class ConsoleServerPortTemplateCreateView(PermissionRequiredMixin, ComponentCrea
|
||||
|
||||
class ConsoleServerPortTemplateEditView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.change_consoleserverporttemplate'
|
||||
model = ConsoleServerPortTemplate
|
||||
queryset = ConsoleServerPortTemplate.objects.all()
|
||||
model_form = forms.ConsoleServerPortTemplateForm
|
||||
|
||||
|
||||
@ -812,7 +812,7 @@ class PowerPortTemplateCreateView(PermissionRequiredMixin, ComponentCreateView):
|
||||
|
||||
class PowerPortTemplateEditView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.change_powerporttemplate'
|
||||
model = PowerPortTemplate
|
||||
queryset = PowerPortTemplate.objects.all()
|
||||
model_form = forms.PowerPortTemplateForm
|
||||
|
||||
|
||||
@ -848,7 +848,7 @@ class PowerOutletTemplateCreateView(PermissionRequiredMixin, ComponentCreateView
|
||||
|
||||
class PowerOutletTemplateEditView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.change_poweroutlettemplate'
|
||||
model = PowerOutletTemplate
|
||||
queryset = PowerOutletTemplate.objects.all()
|
||||
model_form = forms.PowerOutletTemplateForm
|
||||
|
||||
|
||||
@ -884,7 +884,7 @@ class InterfaceTemplateCreateView(PermissionRequiredMixin, ComponentCreateView):
|
||||
|
||||
class InterfaceTemplateEditView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.change_interfacetemplate'
|
||||
model = InterfaceTemplate
|
||||
queryset = InterfaceTemplate.objects.all()
|
||||
model_form = forms.InterfaceTemplateForm
|
||||
|
||||
|
||||
@ -920,7 +920,7 @@ class FrontPortTemplateCreateView(PermissionRequiredMixin, ComponentCreateView):
|
||||
|
||||
class FrontPortTemplateEditView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.change_frontporttemplate'
|
||||
model = FrontPortTemplate
|
||||
queryset = FrontPortTemplate.objects.all()
|
||||
model_form = forms.FrontPortTemplateForm
|
||||
|
||||
|
||||
@ -956,7 +956,7 @@ class RearPortTemplateCreateView(PermissionRequiredMixin, ComponentCreateView):
|
||||
|
||||
class RearPortTemplateEditView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.change_rearporttemplate'
|
||||
model = RearPortTemplate
|
||||
queryset = RearPortTemplate.objects.all()
|
||||
model_form = forms.RearPortTemplateForm
|
||||
|
||||
|
||||
@ -992,7 +992,7 @@ class DeviceBayTemplateCreateView(PermissionRequiredMixin, ComponentCreateView):
|
||||
|
||||
class DeviceBayTemplateEditView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.change_devicebaytemplate'
|
||||
model = DeviceBayTemplate
|
||||
queryset = DeviceBayTemplate.objects.all()
|
||||
model_form = forms.DeviceBayTemplateForm
|
||||
|
||||
|
||||
@ -1026,7 +1026,7 @@ class DeviceRoleListView(PermissionRequiredMixin, ObjectListView):
|
||||
|
||||
class DeviceRoleCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.add_devicerole'
|
||||
model = DeviceRole
|
||||
queryset = DeviceRole.objects.all()
|
||||
model_form = forms.DeviceRoleForm
|
||||
default_return_url = 'dcim:devicerole_list'
|
||||
|
||||
@ -1061,7 +1061,7 @@ class PlatformListView(PermissionRequiredMixin, ObjectListView):
|
||||
|
||||
class PlatformCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.add_platform'
|
||||
model = Platform
|
||||
queryset = Platform.objects.all()
|
||||
model_form = forms.PlatformForm
|
||||
default_return_url = 'dcim:platform_list'
|
||||
|
||||
@ -1247,7 +1247,7 @@ class DeviceConfigContextView(PermissionRequiredMixin, ObjectConfigContextView):
|
||||
|
||||
class DeviceCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.add_device'
|
||||
model = Device
|
||||
queryset = Device.objects.all()
|
||||
model_form = forms.DeviceForm
|
||||
template_name = 'dcim/device_edit.html'
|
||||
default_return_url = 'dcim:device_list'
|
||||
@ -1330,7 +1330,7 @@ class ConsolePortCreateView(PermissionRequiredMixin, ComponentCreateView):
|
||||
|
||||
class ConsolePortEditView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.change_consoleport'
|
||||
model = ConsolePort
|
||||
queryset = ConsolePort.objects.all()
|
||||
model_form = forms.ConsolePortForm
|
||||
|
||||
|
||||
@ -1385,7 +1385,7 @@ class ConsoleServerPortCreateView(PermissionRequiredMixin, ComponentCreateView):
|
||||
|
||||
class ConsoleServerPortEditView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.change_consoleserverport'
|
||||
model = ConsoleServerPort
|
||||
queryset = ConsoleServerPort.objects.all()
|
||||
model_form = forms.ConsoleServerPortForm
|
||||
|
||||
|
||||
@ -1452,7 +1452,7 @@ class PowerPortCreateView(PermissionRequiredMixin, ComponentCreateView):
|
||||
|
||||
class PowerPortEditView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.change_powerport'
|
||||
model = PowerPort
|
||||
queryset = PowerPort.objects.all()
|
||||
model_form = forms.PowerPortForm
|
||||
|
||||
|
||||
@ -1507,7 +1507,7 @@ class PowerOutletCreateView(PermissionRequiredMixin, ComponentCreateView):
|
||||
|
||||
class PowerOutletEditView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.change_poweroutlet'
|
||||
model = PowerOutlet
|
||||
queryset = PowerOutlet.objects.all()
|
||||
model_form = forms.PowerOutletForm
|
||||
|
||||
|
||||
@ -1610,7 +1610,7 @@ class InterfaceCreateView(PermissionRequiredMixin, ComponentCreateView):
|
||||
|
||||
class InterfaceEditView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.change_interface'
|
||||
model = Interface
|
||||
queryset = Interface.objects.all()
|
||||
model_form = forms.InterfaceForm
|
||||
template_name = 'dcim/interface_edit.html'
|
||||
|
||||
@ -1678,7 +1678,7 @@ class FrontPortCreateView(PermissionRequiredMixin, ComponentCreateView):
|
||||
|
||||
class FrontPortEditView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.change_frontport'
|
||||
model = FrontPort
|
||||
queryset = FrontPort.objects.all()
|
||||
model_form = forms.FrontPortForm
|
||||
|
||||
|
||||
@ -1745,7 +1745,7 @@ class RearPortCreateView(PermissionRequiredMixin, ComponentCreateView):
|
||||
|
||||
class RearPortEditView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.change_rearport'
|
||||
model = RearPort
|
||||
queryset = RearPort.objects.all()
|
||||
model_form = forms.RearPortForm
|
||||
|
||||
|
||||
@ -1814,7 +1814,7 @@ class DeviceBayCreateView(PermissionRequiredMixin, ComponentCreateView):
|
||||
|
||||
class DeviceBayEditView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.change_devicebay'
|
||||
model = DeviceBay
|
||||
queryset = DeviceBay.objects.all()
|
||||
model_form = forms.DeviceBayForm
|
||||
|
||||
|
||||
@ -2154,7 +2154,7 @@ class CableCreateView(PermissionRequiredMixin, GetReturnURLMixin, View):
|
||||
|
||||
class CableEditView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.change_cable'
|
||||
model = Cable
|
||||
queryset = Cable.objects.all()
|
||||
model_form = forms.CableForm
|
||||
template_name = 'dcim/cable_edit.html'
|
||||
default_return_url = 'dcim:cable_list'
|
||||
@ -2309,7 +2309,7 @@ class InventoryItemListView(PermissionRequiredMixin, ObjectListView):
|
||||
|
||||
class InventoryItemEditView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.change_inventoryitem'
|
||||
model = InventoryItem
|
||||
queryset = InventoryItem.objects.all()
|
||||
model_form = forms.InventoryItemForm
|
||||
|
||||
|
||||
@ -2654,7 +2654,7 @@ class PowerPanelView(PermissionRequiredMixin, View):
|
||||
|
||||
class PowerPanelCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.add_powerpanel'
|
||||
model = PowerPanel
|
||||
queryset = PowerPanel.objects.all()
|
||||
model_form = forms.PowerPanelForm
|
||||
default_return_url = 'dcim:powerpanel_list'
|
||||
|
||||
@ -2725,7 +2725,7 @@ class PowerFeedView(PermissionRequiredMixin, View):
|
||||
|
||||
class PowerFeedCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.add_powerfeed'
|
||||
model = PowerFeed
|
||||
queryset = PowerFeed.objects.all()
|
||||
model_form = forms.PowerFeedForm
|
||||
template_name = 'dcim/powerfeed_edit.html'
|
||||
default_return_url = 'dcim:powerfeed_list'
|
||||
|
@ -67,7 +67,7 @@ class TagView(PermissionRequiredMixin, View):
|
||||
|
||||
class TagEditView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'extras.change_tag'
|
||||
model = Tag
|
||||
queryset = Tag.objects.all()
|
||||
model_form = forms.TagForm
|
||||
default_return_url = 'extras:tag_list'
|
||||
template_name = 'extras/tag_edit.html'
|
||||
@ -136,7 +136,7 @@ class ConfigContextView(PermissionRequiredMixin, View):
|
||||
|
||||
class ConfigContextCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'extras.add_configcontext'
|
||||
model = ConfigContext
|
||||
queryset = ConfigContext.objects.all()
|
||||
model_form = forms.ConfigContextForm
|
||||
default_return_url = 'extras:configcontext_list'
|
||||
template_name = 'extras/configcontext_edit.html'
|
||||
@ -306,7 +306,7 @@ class ObjectChangeLogView(View):
|
||||
|
||||
class ImageAttachmentEditView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'extras.change_imageattachment'
|
||||
model = ImageAttachment
|
||||
queryset = ImageAttachment.objects.all()
|
||||
model_form = forms.ImageAttachmentForm
|
||||
|
||||
def alter_obj(self, imageattachment, request, args, kwargs):
|
||||
|
@ -136,7 +136,7 @@ class VRFView(PermissionRequiredMixin, View):
|
||||
|
||||
class VRFCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'ipam.add_vrf'
|
||||
model = VRF
|
||||
queryset = VRF.objects.all()
|
||||
model_form = forms.VRFForm
|
||||
template_name = 'ipam/vrf_edit.html'
|
||||
default_return_url = 'ipam:vrf_list'
|
||||
@ -259,7 +259,7 @@ class RIRListView(PermissionRequiredMixin, ObjectListView):
|
||||
|
||||
class RIRCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'ipam.add_rir'
|
||||
model = RIR
|
||||
queryset = RIR.objects.all()
|
||||
model_form = forms.RIRForm
|
||||
default_return_url = 'ipam:rir_list'
|
||||
|
||||
@ -361,7 +361,7 @@ class AggregateView(PermissionRequiredMixin, View):
|
||||
|
||||
class AggregateCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'ipam.add_aggregate'
|
||||
model = Aggregate
|
||||
queryset = Aggregate.objects.all()
|
||||
model_form = forms.AggregateForm
|
||||
template_name = 'ipam/aggregate_edit.html'
|
||||
default_return_url = 'ipam:aggregate_list'
|
||||
@ -413,7 +413,7 @@ class RoleListView(PermissionRequiredMixin, ObjectListView):
|
||||
|
||||
class RoleCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'ipam.add_role'
|
||||
model = Role
|
||||
queryset = Role.objects.all()
|
||||
model_form = forms.RoleForm
|
||||
default_return_url = 'ipam:role_list'
|
||||
|
||||
@ -588,7 +588,7 @@ class PrefixIPAddressesView(PermissionRequiredMixin, View):
|
||||
|
||||
class PrefixCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'ipam.add_prefix'
|
||||
model = Prefix
|
||||
queryset = Prefix.objects.all()
|
||||
model_form = forms.PrefixForm
|
||||
template_name = 'ipam/prefix_edit.html'
|
||||
default_return_url = 'ipam:prefix_list'
|
||||
@ -699,7 +699,7 @@ class IPAddressView(PermissionRequiredMixin, View):
|
||||
|
||||
class IPAddressCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'ipam.add_ipaddress'
|
||||
model = IPAddress
|
||||
queryset = IPAddress.objects.all()
|
||||
model_form = forms.IPAddressForm
|
||||
template_name = 'ipam/ipaddress_edit.html'
|
||||
default_return_url = 'ipam:ipaddress_list'
|
||||
@ -817,7 +817,7 @@ class VLANGroupListView(PermissionRequiredMixin, ObjectListView):
|
||||
|
||||
class VLANGroupCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'ipam.add_vlangroup'
|
||||
model = VLANGroup
|
||||
queryset = VLANGroup.objects.all()
|
||||
model_form = forms.VLANGroupForm
|
||||
default_return_url = 'ipam:vlangroup_list'
|
||||
|
||||
@ -933,7 +933,7 @@ class VLANMembersView(PermissionRequiredMixin, View):
|
||||
|
||||
class VLANCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'ipam.add_vlan'
|
||||
model = VLAN
|
||||
queryset = VLAN.objects.all()
|
||||
model_form = forms.VLANForm
|
||||
template_name = 'ipam/vlan_edit.html'
|
||||
default_return_url = 'ipam:vlan_list'
|
||||
@ -1000,7 +1000,7 @@ class ServiceView(PermissionRequiredMixin, View):
|
||||
|
||||
class ServiceCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'ipam.add_service'
|
||||
model = Service
|
||||
queryset = Service.objects.all()
|
||||
model_form = forms.ServiceForm
|
||||
template_name = 'ipam/service_edit.html'
|
||||
|
||||
|
@ -38,7 +38,7 @@ class SecretRoleListView(PermissionRequiredMixin, ObjectListView):
|
||||
|
||||
class SecretRoleCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'secrets.add_secretrole'
|
||||
model = SecretRole
|
||||
queryset = SecretRole.objects.all()
|
||||
model_form = forms.SecretRoleForm
|
||||
default_return_url = 'secrets:secretrole_list'
|
||||
|
||||
|
@ -32,7 +32,7 @@ class TenantGroupListView(PermissionRequiredMixin, ObjectListView):
|
||||
|
||||
class TenantGroupCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'tenancy.add_tenantgroup'
|
||||
model = TenantGroup
|
||||
queryset = TenantGroup.objects.all()
|
||||
model_form = forms.TenantGroupForm
|
||||
default_return_url = 'tenancy:tenantgroup_list'
|
||||
|
||||
@ -95,7 +95,7 @@ class TenantView(PermissionRequiredMixin, View):
|
||||
|
||||
class TenantCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'tenancy.add_tenant'
|
||||
model = Tenant
|
||||
queryset = Tenant.objects.all()
|
||||
model_form = forms.TenantForm
|
||||
template_name = 'tenancy/tenant_edit.html'
|
||||
default_return_url = 'tenancy:tenant_list'
|
||||
|
@ -216,21 +216,22 @@ class ObjectEditView(GetReturnURLMixin, View):
|
||||
"""
|
||||
Create or edit a single object.
|
||||
|
||||
model: The model of the object being edited
|
||||
queryset: The base queryset for the model being modified
|
||||
model_form: The form used to create or edit the object
|
||||
template_name: The name of the template
|
||||
"""
|
||||
model = None
|
||||
queryset = None
|
||||
model_form = None
|
||||
template_name = 'utilities/obj_edit.html'
|
||||
|
||||
def get_object(self, kwargs):
|
||||
# Look up object by slug or PK. Return None if neither was provided.
|
||||
# Look up an existing object by slug or PK, if provided.
|
||||
if 'slug' in kwargs:
|
||||
return get_object_or_404(self.model, slug=kwargs['slug'])
|
||||
return get_object_or_404(self.queryset, slug=kwargs['slug'])
|
||||
elif 'pk' in kwargs:
|
||||
return get_object_or_404(self.model, pk=kwargs['pk'])
|
||||
return self.model()
|
||||
return get_object_or_404(self.queryset, pk=kwargs['pk'])
|
||||
# Otherwise, return a new instance.
|
||||
return self.queryset.model()
|
||||
|
||||
def alter_obj(self, obj, request, url_args, url_kwargs):
|
||||
# Allow views to add extra info to an object before it is processed. For example, a parent object can be defined
|
||||
@ -249,7 +250,7 @@ class ObjectEditView(GetReturnURLMixin, View):
|
||||
|
||||
return render(request, self.template_name, {
|
||||
'obj': self.obj,
|
||||
'obj_type': self.model._meta.verbose_name,
|
||||
'obj_type': self.queryset.model._meta.verbose_name,
|
||||
'form': form,
|
||||
'return_url': self.get_return_url(request, self.obj),
|
||||
})
|
||||
@ -264,7 +265,7 @@ class ObjectEditView(GetReturnURLMixin, View):
|
||||
obj = form.save()
|
||||
msg = '{} {}'.format(
|
||||
'Created' if not form.instance.pk else 'Modified',
|
||||
self.model._meta.verbose_name
|
||||
self.queryset.model._meta.verbose_name
|
||||
)
|
||||
logger.info(f"{msg} {obj} (PK: {obj.pk})")
|
||||
if hasattr(obj, 'get_absolute_url'):
|
||||
@ -293,7 +294,7 @@ class ObjectEditView(GetReturnURLMixin, View):
|
||||
|
||||
return render(request, self.template_name, {
|
||||
'obj': self.obj,
|
||||
'obj_type': self.model._meta.verbose_name,
|
||||
'obj_type': self.queryset.model._meta.verbose_name,
|
||||
'form': form,
|
||||
'return_url': self.get_return_url(request, self.obj),
|
||||
})
|
||||
|
@ -30,7 +30,7 @@ class ClusterTypeListView(PermissionRequiredMixin, ObjectListView):
|
||||
|
||||
class ClusterTypeCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'virtualization.add_clustertype'
|
||||
model = ClusterType
|
||||
queryset = ClusterType.objects.all()
|
||||
model_form = forms.ClusterTypeForm
|
||||
default_return_url = 'virtualization:clustertype_list'
|
||||
|
||||
@ -65,7 +65,7 @@ class ClusterGroupListView(PermissionRequiredMixin, ObjectListView):
|
||||
|
||||
class ClusterGroupCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'virtualization.add_clustergroup'
|
||||
model = ClusterGroup
|
||||
queryset = ClusterGroup.objects.all()
|
||||
model_form = forms.ClusterGroupForm
|
||||
default_return_url = 'virtualization:clustergroup_list'
|
||||
|
||||
@ -122,7 +122,7 @@ class ClusterView(PermissionRequiredMixin, View):
|
||||
class ClusterCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'virtualization.add_cluster'
|
||||
template_name = 'virtualization/cluster_edit.html'
|
||||
model = Cluster
|
||||
queryset = Cluster.objects.all()
|
||||
model_form = forms.ClusterForm
|
||||
|
||||
|
||||
@ -281,7 +281,7 @@ class VirtualMachineConfigContextView(PermissionRequiredMixin, ObjectConfigConte
|
||||
|
||||
class VirtualMachineCreateView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'virtualization.add_virtualmachine'
|
||||
model = VirtualMachine
|
||||
queryset = VirtualMachine.objects.all()
|
||||
model_form = forms.VirtualMachineForm
|
||||
template_name = 'virtualization/virtualmachine_edit.html'
|
||||
default_return_url = 'virtualization:virtualmachine_list'
|
||||
@ -335,7 +335,7 @@ class InterfaceCreateView(PermissionRequiredMixin, ComponentCreateView):
|
||||
|
||||
class InterfaceEditView(PermissionRequiredMixin, ObjectEditView):
|
||||
permission_required = 'dcim.change_interface'
|
||||
model = Interface
|
||||
queryset = Interface.objects.all()
|
||||
model_form = forms.InterfaceForm
|
||||
template_name = 'virtualization/interface_edit.html'
|
||||
|
||||
|
Reference in New Issue
Block a user