network_inventory/network_inventory/inventory/views.py

49 lines
1.7 KiB
Python

from django.shortcuts import get_object_or_404, render
from django.views.generic import ListView
from .models import (GeneralDevice, Computer, CronJob,
ComputerRamRelation,
ComputerDiskRelation,
ComputerCpuRelation)
def device_details(request, device_id):
device = get_object_or_404(GeneralDevice, pk=device_id)
return render(request, 'inventory/device_details.html',
{'device': device})
def computer_details(request, computer_id):
computer = get_object_or_404(Computer, pk=computer_id)
disks_list = ComputerDiskRelation.objects.filter(computer=computer_id)
ram = ComputerRamRelation.objects.get(computer=computer_id)
cpu = ComputerCpuRelation.objects.get(computer=computer_id)
cronjob_list = CronJob.objects.filter(host=computer_id)
return render(request, 'inventory/computer_details.html',
{'computer': computer,
'disks_list': disks_list,
'ram': ram,
'cpu': cpu,
'cronjob_list': cronjob_list})
def cronjob_details(request, cronjob_id):
cronjob = get_object_or_404(CronJob, pk=cronjob_id)
return render(request, 'inventory/cronjob_details.html',
{'cronjob': cronjob})
class ComputerList(ListView):
model = Computer
template_name = 'inventory/computer_list.html'
class CronJobList(ListView):
model = CronJob
template_name = 'inventory/cronjob_list.html'
class DeviceList(ListView):
model = GeneralDevice
context_object_name = 'device_list'
template_name = 'inventory/device_list.html'