Example #1
0
    def create(self, request, *args, **kwargs):
        serializer = self.get_serializer(data=request.data)

        if serializer.is_valid():
            instance = serializer.save(force_insert=True)
            if serializer.is_valid():
                request.user.organizations.add(instance)
                headers = self.get_success_headers(serializer.data)
                serializer = OrganizationDetailSerializer(instance, context={'request': request})
                return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)

        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Example #2
0
def build_resource_data(obj):
    resource = obj.resource
    if not resource:
        return None
    resource_type = resource.resource_type.lower()
    if resource_type == 'source':
        from core.sources.serializers import SourceDetailSerializer
        return SourceDetailSerializer(resource).data
    if resource_type == 'collection':
        from core.collections.serializers import CollectionDetailSerializer
        return CollectionDetailSerializer(resource).data
    if resource_type == 'organization':
        from core.orgs.serializers import OrganizationDetailSerializer
        return OrganizationDetailSerializer(resource).data
    return None