devicehub-django/dashboard/views.py

60 lines
1.7 KiB
Python
Raw Normal View History

2024-07-15 14:23:14 +00:00
import json
2024-07-01 10:19:21 +00:00
from django.utils.translation import gettext_lazy as _
2024-07-10 11:55:57 +00:00
from django.db.models import Count
from dashboard.mixins import InventaryMixin, DetailsMixin
2024-07-05 13:32:07 +00:00
from device.models import Device
2024-07-15 14:23:14 +00:00
from snapshot.xapian import search
from snapshot.models import Annotation
2024-07-18 15:21:22 +00:00
from lot.models import Lot, LotTag
2024-07-01 10:19:21 +00:00
2024-07-09 11:34:30 +00:00
class UnassignedDevicesView(InventaryMixin):
2024-07-05 13:32:07 +00:00
template_name = "unassigned_devices.html"
section = "Unassigned"
title = _("Unassigned Devices")
breadcrumb = "Devices / Unassigned Devices"
2024-07-01 10:19:21 +00:00
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
2024-07-18 15:21:22 +00:00
devices = Device.objects.filter(
owner=self.request.user
).annotate(num_lots=Count('lot')).filter(num_lots=0)
2024-07-15 14:23:14 +00:00
2024-07-10 11:55:57 +00:00
context.update({
2024-07-18 15:21:22 +00:00
'devices': devices,
2024-07-10 11:55:57 +00:00
})
2024-07-18 15:21:22 +00:00
2024-07-10 11:55:57 +00:00
return context
2024-07-10 14:15:37 +00:00
class AllDevicesView(InventaryMixin):
template_name = "unassigned_devices.html"
section = "All"
title = _("All Devices")
breadcrumb = "Devices / All Devices"
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
devices = Device.objects.filter(owner=self.request.user)
context.update({
'devices': devices,
})
return context
2024-07-10 11:55:57 +00:00
class LotDashboardView(InventaryMixin, DetailsMixin):
template_name = "unassigned_devices.html"
section = "Unassigned"
title = _("Lot Devices")
breadcrumb = "Devices / Lot Devices"
model = Lot
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
devices = self.object.devices.filter(owner=self.request.user)
2024-07-01 10:19:21 +00:00
context.update({
2024-07-05 13:32:07 +00:00
'devices': devices,
2024-07-01 10:19:21 +00:00
})
return context