diff --git a/apps/counter/api/views.py b/apps/counter/api/views.py index 40b9288..8f28b9e 100644 --- a/apps/counter/api/views.py +++ b/apps/counter/api/views.py @@ -123,9 +123,23 @@ class DeviceLogHistoryListAPIView(ListAPIView): pagination_class = PostPageNumberPagination search_fields = ['device_id', 'date'] + # def get_queryset(self, *args, **kwargs): + # queryset_list = DevicePostStatistic.objects.get_queryset().order_by('-date') + # device_id = self.request.GET.get('device_id') + # if device_id: + # queryset_list = queryset_list.filter(device_id__icontains=device_id) + # return queryset_list + def get_queryset(self, *args, **kwargs): + user = self.request.user + user_roles = user.role.split(',') queryset_list = DevicePostStatistic.objects.get_queryset().order_by('-date') + if 'staff' in user_roles or 'admin' in user_roles: + queryset_ids = [query.device_id for query in queryset_list if query.org == user.org] + queryset_list = queryset_list.filter(device_id__in=queryset_ids) device_id = self.request.GET.get('device_id') + if device_id: queryset_list = queryset_list.filter(device_id__icontains=device_id) + return queryset_list