network_inventory/src/computers/admin.py

111 lines
2.6 KiB
Python
Raw Permalink Normal View History

2017-12-22 17:02:24 +01:00
from django.contrib import admin
import nested_admin
2020-01-10 00:01:06 +01:00
from devices.models import DeviceInNet
2020-01-12 12:42:28 +01:00
from licenses.models import LicenseWithComputer
2020-01-10 00:01:06 +01:00
2020-01-01 21:24:49 +01:00
from .models import (
Computer,
ComputerCpuRelation,
ComputerDiskRelation,
2020-04-30 15:40:00 +02:00
ComputerGpuRelation,
2020-01-01 21:24:49 +01:00
ComputerRamRelation,
ComputerSoftwareRelation,
Cpu,
CpuArchitecture,
CpuManufacturer,
Disk,
DiskType,
DisksInRaid,
2020-04-30 15:40:00 +02:00
Gpu,
GpuManufacturer,
2020-01-01 21:24:49 +01:00
Raid,
RaidType,
Ram,
RamType,
)
2019-06-16 14:58:53 +02:00
2023-07-10 19:10:07 +02:00
class SoftwareInLine(nested_admin.NestedStackedInline): # pylint: disable=no-member
2019-06-10 21:56:21 +02:00
model = ComputerSoftwareRelation
extra = 0
2022-03-27 14:50:44 +02:00
verbose_name_plural = "Software"
2017-12-22 17:02:24 +01:00
2023-07-10 19:10:07 +02:00
class RamInLine(nested_admin.NestedStackedInline): # pylint: disable=no-member
2017-12-22 17:02:24 +01:00
model = ComputerRamRelation
extra = 0
2022-03-27 14:50:44 +02:00
verbose_name_plural = "RAM Modules"
2017-12-22 17:02:24 +01:00
2023-07-10 19:10:07 +02:00
class DiskInLine(nested_admin.NestedStackedInline): # pylint: disable=no-member
2017-12-22 17:02:24 +01:00
model = ComputerDiskRelation
extra = 0
2022-03-27 14:50:44 +02:00
verbose_name_plural = "Disks"
2017-12-22 17:02:24 +01:00
2023-07-10 19:10:07 +02:00
class DisksInRaidInLine(nested_admin.NestedStackedInline): # pylint: disable=no-member
model = DisksInRaid
extra = 0
2022-03-27 14:50:44 +02:00
verbose_name_plural = "Disks in RAID"
2023-07-10 19:10:07 +02:00
class CpusInLine(nested_admin.NestedStackedInline): # pylint: disable=no-member
model = ComputerCpuRelation
extra = 0
2022-03-27 14:50:44 +02:00
verbose_name_plural = "CPUs"
2023-07-10 19:10:07 +02:00
class GpusInLine(nested_admin.NestedStackedInline): # pylint: disable=no-member
2020-04-30 15:40:00 +02:00
model = ComputerGpuRelation
extra = 0
2022-03-27 14:50:44 +02:00
verbose_name_plural = "GPUs"
2020-04-30 15:40:00 +02:00
2023-07-10 19:10:07 +02:00
class RaidInLine(nested_admin.NestedStackedInline): # pylint: disable=no-member
model = Raid
2019-06-10 21:56:21 +02:00
extra = 0
2022-03-27 14:50:44 +02:00
verbose_name_plural = "RAID"
inlines = (DisksInRaidInLine,)
2017-12-22 17:02:24 +01:00
2023-07-10 19:10:07 +02:00
class DeviceInNetInline(nested_admin.NestedStackedInline): # pylint: disable=no-member
2019-06-10 21:56:21 +02:00
model = DeviceInNet
extra = 0
2022-03-27 14:50:44 +02:00
verbose_name_plural = "Nets"
2019-06-10 21:56:21 +02:00
2023-07-10 19:10:07 +02:00
class LicenseWithComputerInLine(
nested_admin.NestedStackedInline
): # pylint: disable=no-member
2019-12-29 23:54:27 +01:00
model = LicenseWithComputer
extra = 0
2022-03-27 14:50:44 +02:00
verbose_name_plural = "Licenses"
2019-12-29 23:54:27 +01:00
2023-07-10 19:10:07 +02:00
class ComputerAdmin(nested_admin.NestedModelAdmin): # pylint: disable=no-member
2022-03-27 14:50:44 +02:00
list_display = ("name", "host")
inlines = (
SoftwareInLine,
CpusInLine,
GpusInLine,
RamInLine,
DiskInLine,
RaidInLine,
DeviceInNetInline,
LicenseWithComputerInLine,
)
admin.site.register(Computer, ComputerAdmin)
admin.site.register(Cpu)
admin.site.register(CpuArchitecture)
admin.site.register(CpuManufacturer)
2019-06-10 21:56:21 +02:00
admin.site.register(Disk)
admin.site.register(DiskType)
admin.site.register(Gpu)
admin.site.register(GpuManufacturer)
admin.site.register(RaidType)
admin.site.register(Ram)
admin.site.register(RamType)