feat(api): filter devices to users organizations

!17 #45
This commit is contained in:
2024-06-02 19:46:23 +09:30
parent 64f4c8f2e8
commit 89a5e0f4cc

View File

@ -1,15 +1,18 @@
# from django.contrib.auth.mixins import PermissionRequiredMixin, LoginRequiredMixin
from django.db.models import Q
from django.shortcuts import get_object_or_404
from rest_framework import generics, viewsets
from itam.models.device import Device
from access.mixin import OrganizationMixin
from api.serializers.itam.device import DeviceSerializer
from api.views.mixin import OrganizationPermissionAPI
from itam.models.device import Device
class DeviceViewSet(viewsets.ModelViewSet):
class DeviceViewSet(OrganizationMixin, viewsets.ModelViewSet):
permission_classes = [
OrganizationPermissionAPI
@ -19,5 +22,17 @@ class DeviceViewSet(viewsets.ModelViewSet):
serializer_class = DeviceSerializer
def get_queryset(self):
if self.request.user.is_superuser:
return self.queryset.filter().order_by('name')
else:
return self.queryset.filter(Q(organization__in=self.user_organizations()) | Q(is_global = True)).order_by('name')
def get_view_name(self):
return "Device"