diff --git a/apps/accounts/models.py b/apps/accounts/models.py index 4253431..bd2ca34 100644 --- a/apps/accounts/models.py +++ b/apps/accounts/models.py @@ -52,5 +52,4 @@ class User(AbstractUser): return self.username def get_child(self): - print(self.org) - return [u.id for u in User.objects.filter(parent_org=self.org)] + return [u.org.id for u in User.objects.filter(parent_org=self.org.id)] diff --git a/apps/counter/api/views.py b/apps/counter/api/views.py index 9bfd34d..5592350 100644 --- a/apps/counter/api/views.py +++ b/apps/counter/api/views.py @@ -80,7 +80,10 @@ class DeviceInfoListAPIView(ListAPIView, RoleMixin): user_roles = self.get_role() queryset = DeviceInfo.objects.all().order_by('-last_offline_time') if 'staff' in user_roles or 'manager' in user_roles: - device_ids = [query.device_id for query in queryset if query.org == self.request.user.org] + child = self.request.user.get_child() + device_ids = [query.device_id + for query in queryset + if query.org == self.request.user.org or query.org.id in child] queryset = queryset.filter(device_id__in=device_ids) device_id = self.request.GET.get('device_id') status = self.request.GET.get('status')