diff --git a/apps/counter/api/views.py b/apps/counter/api/views.py index c2658be..9ceef32 100644 --- a/apps/counter/api/views.py +++ b/apps/counter/api/views.py @@ -180,8 +180,11 @@ class DeviceStatusAPIView(APIView, RoleMixin): online_devices = DeviceInfo.objects.filter(online=1) offline_devices = DeviceInfo.objects.filter(online=0) if 'staff' in user_roles or 'manager' in user_roles: - online_ids = [query.device_id for query in online_devices if query.org == self.request.user.org] - offline_ids = [query.device_id for query in offline_devices if query.org == self.request.user.org] + child = self.request.user.get_child() + online_ids = [query.device_id for query in online_devices + if query.org == self.request.user.org or query.org.id in child] + offline_ids = [query.device_id for query in offline_devices + if query.org == self.request.user.org or query.org.id in child] online_devices = online_devices.filter(device_id__in=online_ids) offline_devices = offline_devices.filter(device_id__in=offline_ids) online_count = online_devices.count()