class OrganizationListAPI(generics.ListCreateAPIView): parser_classes = (JSONParser, FormParser, MultiPartParser) permission_required = ViewClassPermission( GET=all_permissions.organizations_view, PUT=all_permissions.organizations_change, POST=all_permissions.organizations_create, PATCH=all_permissions.organizations_change, DELETE=all_permissions.organizations_change, ) serializer_class = OrganizationIdSerializer def get_object(self): org = get_object_with_check_and_log(self.request, Organization, pk=self.kwargs[self.lookup_field]) self.check_object_permissions(self.request, org) return org def get_queryset(self): return Organization.objects.filter(users=self.request.user).distinct() def get(self, request, *args, **kwargs): return super(OrganizationListAPI, self).get(request, *args, **kwargs) @swagger_auto_schema(auto_schema=None) def post(self, request, *args, **kwargs): return super(OrganizationListAPI, self).post(request, *args, **kwargs)
class OrganizationMemberListAPI(generics.ListAPIView): parser_classes = (JSONParser, FormParser, MultiPartParser) permission_required = ViewClassPermission( GET=all_permissions.organizations_view, PUT=all_permissions.organizations_change, PATCH=all_permissions.organizations_change, DELETE=all_permissions.organizations_change, ) serializer_class = OrganizationMemberUserSerializer def get_queryset(self): org = generics.get_object_or_404(self.request.user.organizations, pk=self.kwargs[self.lookup_field]) return org.members.order_by('user__username') def get(self, request, *args, **kwargs): return super(OrganizationMemberListAPI, self).get(request, *args, **kwargs)
class OrganizationMemberListAPI(generics.ListAPIView): parser_classes = (JSONParser, FormParser, MultiPartParser) permission_required = ViewClassPermission( GET=all_permissions.organizations_view, PUT=all_permissions.organizations_change, PATCH=all_permissions.organizations_change, DELETE=all_permissions.organizations_change, ) serializer_class = OrganizationMemberUserSerializer def get_serializer_context(self): return { 'contributed_to_projects': bool_from_request(self.request.GET, 'contributed_to_projects', False) } def get_queryset(self): org = generics.get_object_or_404(self.request.user.organizations, pk=self.kwargs[self.lookup_field]) return org.members.order_by('user__username')