diff --git a/netbox/circuits/admin.py b/netbox/circuits/admin.py deleted file mode 100644 index 281ed2104..000000000 --- a/netbox/circuits/admin.py +++ /dev/null @@ -1,29 +0,0 @@ -from django.contrib import admin - -from .models import Provider, CircuitType, Circuit - - -@admin.register(Provider) -class ProviderAdmin(admin.ModelAdmin): - prepopulated_fields = { - 'slug': ['name'], - } - list_display = ['name', 'slug', 'asn'] - - -@admin.register(CircuitType) -class CircuitTypeAdmin(admin.ModelAdmin): - prepopulated_fields = { - 'slug': ['name'], - } - list_display = ['name', 'slug'] - - -@admin.register(Circuit) -class CircuitAdmin(admin.ModelAdmin): - list_display = ['cid', 'provider', 'type', 'tenant', 'install_date', 'commit_rate_human'] - list_filter = ['provider', 'type', 'tenant'] - - def get_queryset(self, request): - qs = super(CircuitAdmin, self).get_queryset(request) - return qs.select_related('provider', 'type', 'tenant') diff --git a/netbox/dcim/admin.py b/netbox/dcim/admin.py deleted file mode 100644 index a1b64f235..000000000 --- a/netbox/dcim/admin.py +++ /dev/null @@ -1,212 +0,0 @@ -from django.contrib import admin -from django.db.models import Count - -from mptt.admin import MPTTModelAdmin - -from .models import ( - ConsolePort, ConsolePortTemplate, ConsoleServerPort, ConsoleServerPortTemplate, Device, DeviceBay, - DeviceBayTemplate, DeviceRole, DeviceType, Interface, InterfaceTemplate, Manufacturer, InventoryItem, Platform, - PowerOutlet, PowerOutletTemplate, PowerPort, PowerPortTemplate, Rack, RackGroup, RackReservation, RackRole, Region, - Site, -) - - -@admin.register(Region) -class RegionAdmin(MPTTModelAdmin): - list_display = ['name', 'parent', 'slug'] - prepopulated_fields = { - 'slug': ['name'], - } - - -@admin.register(Site) -class SiteAdmin(admin.ModelAdmin): - list_display = ['name', 'slug', 'facility', 'asn'] - prepopulated_fields = { - 'slug': ['name'], - } - - -@admin.register(RackGroup) -class RackGroupAdmin(admin.ModelAdmin): - list_display = ['name', 'slug', 'site'] - prepopulated_fields = { - 'slug': ['name'], - } - - -@admin.register(RackRole) -class RackRoleAdmin(admin.ModelAdmin): - list_display = ['name', 'slug', 'color'] - prepopulated_fields = { - 'slug': ['name'], - } - - -@admin.register(Rack) -class RackAdmin(admin.ModelAdmin): - list_display = ['name', 'facility_id', 'site', 'group', 'tenant', 'role', 'type', 'width', 'u_height'] - - -@admin.register(RackReservation) -class RackRackReservationAdmin(admin.ModelAdmin): - list_display = ['rack', 'units', 'description', 'user', 'created'] - - -# -# Device types -# - -@admin.register(Manufacturer) -class ManufacturerAdmin(admin.ModelAdmin): - prepopulated_fields = { - 'slug': ['name'], - } - list_display = ['name', 'slug'] - - -class ConsolePortTemplateAdmin(admin.TabularInline): - model = ConsolePortTemplate - - -class ConsoleServerPortTemplateAdmin(admin.TabularInline): - model = ConsoleServerPortTemplate - - -class PowerPortTemplateAdmin(admin.TabularInline): - model = PowerPortTemplate - - -class PowerOutletTemplateAdmin(admin.TabularInline): - model = PowerOutletTemplate - - -class InterfaceTemplateAdmin(admin.TabularInline): - model = InterfaceTemplate - - -class DeviceBayTemplateAdmin(admin.TabularInline): - model = DeviceBayTemplate - - -@admin.register(DeviceType) -class DeviceTypeAdmin(admin.ModelAdmin): - prepopulated_fields = { - 'slug': ['model'], - } - inlines = [ - ConsolePortTemplateAdmin, - ConsoleServerPortTemplateAdmin, - PowerPortTemplateAdmin, - PowerOutletTemplateAdmin, - InterfaceTemplateAdmin, - DeviceBayTemplateAdmin, - ] - list_display = ['model', 'manufacturer', 'slug', 'part_number', 'u_height', 'console_ports', 'console_server_ports', - 'power_ports', 'power_outlets', 'interfaces', 'device_bays'] - list_filter = ['manufacturer'] - - def get_queryset(self, request): - return DeviceType.objects.annotate( - console_port_count=Count('console_port_templates', distinct=True), - cs_port_count=Count('cs_port_templates', distinct=True), - power_port_count=Count('power_port_templates', distinct=True), - power_outlet_count=Count('power_outlet_templates', distinct=True), - interface_count=Count('interface_templates', distinct=True), - devicebay_count=Count('device_bay_templates', distinct=True), - ) - - def console_ports(self, instance): - return instance.console_port_count - - def console_server_ports(self, instance): - return instance.cs_port_count - - def power_ports(self, instance): - return instance.power_port_count - - def power_outlets(self, instance): - return instance.power_outlet_count - - def interfaces(self, instance): - return instance.interface_count - - def device_bays(self, instance): - return instance.devicebay_count - - -# -# Devices -# - -@admin.register(DeviceRole) -class DeviceRoleAdmin(admin.ModelAdmin): - prepopulated_fields = { - 'slug': ['name'], - } - list_display = ['name', 'slug', 'color'] - - -@admin.register(Platform) -class PlatformAdmin(admin.ModelAdmin): - prepopulated_fields = { - 'slug': ['name'], - } - list_display = ['name', 'rpc_client'] - - -class ConsolePortAdmin(admin.TabularInline): - model = ConsolePort - readonly_fields = ['cs_port'] - - -class ConsoleServerPortAdmin(admin.TabularInline): - model = ConsoleServerPort - - -class PowerPortAdmin(admin.TabularInline): - model = PowerPort - readonly_fields = ['power_outlet'] - - -class PowerOutletAdmin(admin.TabularInline): - model = PowerOutlet - - -class InterfaceAdmin(admin.TabularInline): - model = Interface - - -class DeviceBayAdmin(admin.TabularInline): - model = DeviceBay - fk_name = 'device' - readonly_fields = ['installed_device'] - - -class InventoryItemAdmin(admin.TabularInline): - model = InventoryItem - readonly_fields = ['parent', 'discovered'] - - -@admin.register(Device) -class DeviceAdmin(admin.ModelAdmin): - inlines = [ - ConsolePortAdmin, - ConsoleServerPortAdmin, - PowerPortAdmin, - PowerOutletAdmin, - InterfaceAdmin, - DeviceBayAdmin, - InventoryItemAdmin, - ] - list_display = ['display_name', 'device_type_full_name', 'device_role', 'primary_ip', 'rack', 'position', 'asset_tag', - 'serial'] - list_filter = ['device_role'] - - def get_queryset(self, request): - qs = super(DeviceAdmin, self).get_queryset(request) - return qs.select_related('device_type__manufacturer', 'device_role', 'primary_ip4', 'primary_ip6', 'rack') - - def device_type_full_name(self, obj): - return obj.device_type.full_name - device_type_full_name.short_description = 'Device type' diff --git a/netbox/ipam/admin.py b/netbox/ipam/admin.py deleted file mode 100644 index f3f914129..000000000 --- a/netbox/ipam/admin.py +++ /dev/null @@ -1,81 +0,0 @@ -from django.contrib import admin - -from .models import ( - Aggregate, IPAddress, Prefix, RIR, Role, VLAN, VLANGroup, VRF, -) - - -@admin.register(VRF) -class VRFAdmin(admin.ModelAdmin): - list_display = ['name', 'rd', 'tenant', 'enforce_unique'] - list_filter = ['tenant'] - - def get_queryset(self, request): - qs = super(VRFAdmin, self).get_queryset(request) - return qs.select_related('tenant') - - -@admin.register(Role) -class RoleAdmin(admin.ModelAdmin): - prepopulated_fields = { - 'slug': ['name'], - } - list_display = ['name', 'slug', 'weight'] - - -@admin.register(RIR) -class RIRAdmin(admin.ModelAdmin): - prepopulated_fields = { - 'slug': ['name'], - } - list_display = ['name', 'slug', 'is_private'] - - -@admin.register(Aggregate) -class AggregateAdmin(admin.ModelAdmin): - list_display = ['prefix', 'rir', 'date_added'] - list_filter = ['family', 'rir'] - search_fields = ['prefix'] - - -@admin.register(Prefix) -class PrefixAdmin(admin.ModelAdmin): - list_display = ['prefix', 'vrf', 'tenant', 'site', 'status', 'role', 'vlan'] - list_filter = ['family', 'site', 'status', 'role'] - search_fields = ['prefix'] - - def get_queryset(self, request): - qs = super(PrefixAdmin, self).get_queryset(request) - return qs.select_related('vrf', 'site', 'role', 'vlan') - - -@admin.register(IPAddress) -class IPAddressAdmin(admin.ModelAdmin): - list_display = ['address', 'vrf', 'tenant', 'nat_inside'] - list_filter = ['family'] - fields = ['address', 'vrf', 'device', 'interface', 'nat_inside'] - readonly_fields = ['interface', 'device', 'nat_inside'] - search_fields = ['address'] - - def get_queryset(self, request): - qs = super(IPAddressAdmin, self).get_queryset(request) - return qs.select_related('vrf', 'nat_inside') - - -@admin.register(VLANGroup) -class VLANGroupAdmin(admin.ModelAdmin): - list_display = ['name', 'site', 'slug'] - prepopulated_fields = { - 'slug': ['name'], - } - - -@admin.register(VLAN) -class VLANAdmin(admin.ModelAdmin): - list_display = ['site', 'vid', 'name', 'tenant', 'status', 'role'] - list_filter = ['site', 'tenant', 'status', 'role'] - search_fields = ['vid', 'name'] - - def get_queryset(self, request): - qs = super(VLANAdmin, self).get_queryset(request) - return qs.select_related('site', 'tenant', 'role') diff --git a/netbox/secrets/admin.py b/netbox/secrets/admin.py index ac0cf1b8a..1dbe6173e 100644 --- a/netbox/secrets/admin.py +++ b/netbox/secrets/admin.py @@ -54,18 +54,3 @@ class UserKeyAdmin(admin.ModelAdmin): 'form': form, }) activate_selected.short_description = "Activate selected user keys" - - -@admin.register(SecretRole) -class SecretRoleAdmin(admin.ModelAdmin): - list_display = ['name', 'slug'] - prepopulated_fields = { - 'slug': ['name'], - } - - -@admin.register(Secret) -class SecretAdmin(admin.ModelAdmin): - list_display = ['device', 'role', 'name', 'created', 'last_updated'] - fields = ['device', 'role', 'name', 'hash', 'created', 'last_updated'] - readonly_fields = ['device', 'hash', 'created', 'last_updated'] diff --git a/netbox/tenancy/admin.py b/netbox/tenancy/admin.py deleted file mode 100644 index efd0d2ac8..000000000 --- a/netbox/tenancy/admin.py +++ /dev/null @@ -1,23 +0,0 @@ -from django.contrib import admin - -from .models import Tenant, TenantGroup - - -@admin.register(TenantGroup) -class TenantGroupAdmin(admin.ModelAdmin): - prepopulated_fields = { - 'slug': ['name'], - } - list_display = ['name', 'slug'] - - -@admin.register(Tenant) -class TenantAdmin(admin.ModelAdmin): - prepopulated_fields = { - 'slug': ['name'], - } - list_display = ['name', 'slug', 'group', 'description'] - - def get_queryset(self, request): - qs = super(TenantAdmin, self).get_queryset(request) - return qs.select_related('group')