Coverage for api/views/organization.py: 100.00%

18 statements  

« prev     ^ index     » next       coverage.py v7.8.0, created at 2025-06-06 22:17 +0000

1from rest_framework import permissions, viewsets 

2 

3from api.serializers.organization import OrganizationSerializer, OrganizationDataSerializer 

4 

5from core.models.organization import Organization, OrganizationData 

6from core.models import user as core_user_models 

7 

8 

9class OrganizationDataViewSet(viewsets.ModelViewSet): 

10 """ 

11 API endpoint that allows organizations to be viewed or edited. 

12 """ 

13 

14 queryset = OrganizationData.active_objects.all() 

15 serializer_class = OrganizationDataSerializer 

16 permission_classes = [permissions.IsAuthenticated] 

17 

18 def get_queryset(self): 

19 logged_in_user = core_user_models.CoreUser.active_objects.get(user__username=self.request.user) 

20 return OrganizationData.active_objects.filter(id__in=logged_in_user.list_organizations().values('current')) 

21 

22 

23class OrganizationViewSet(viewsets.ModelViewSet): 

24 """ 

25 API endpoint that allows organizations to be viewed or edited. 

26 """ 

27 

28 queryset = Organization.active_objects.all() 

29 serializer_class = OrganizationSerializer 

30 permission_classes = [permissions.IsAuthenticated] 

31 

32 def get_queryset(self): 

33 logged_in_user = core_user_models.CoreUser.active_objects.get(user__username=self.request.user) 

34 

35 return logged_in_user.list_organizations()