from django.utils.translation import gettext_lazy as _ from dashboard.mixins import InventaryMixin, DetailsMixin from device.models import Device from lot.models import Lot class UnassignedDevicesView(InventaryMixin): template_name = "unassigned_devices.html" section = "Unassigned" title = _("Unassigned Devices") breadcrumb = "Devices / Unassigned Devices" def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) devices = Device.get_unassigned(self.request.user.institution) context.update({ 'devices': devices, }) return context class LotDashboardView(InventaryMixin, DetailsMixin): template_name = "unassigned_devices.html" section = "dashboard_lot" title = _("Lot Devices") breadcrumb = "Lot / Devices" model = Lot def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) devices = self.get_devices() lot = context.get('object') context.update({ 'devices': devices, 'lot': lot, }) return context def get_devices(self): chids = self.object.devicelot_set.all().values_list("device_id", flat=True).distinct() return [Device(id=x) for x in chids]