예제 #1
0
    def partial_update(self, request, org_pk, pk):
        org = self._get_object_or_404(Organization, {'pk': org_pk})

        self.check_object_permissions(self.request, org)

        post = self._get_object_or_404(Post, {'org': org, 'pk': pk,})

        serializer = PostSerializer(post, data=request.data, partial=True)
        if not serializer.is_valid():
            return Response(serializer.errors, status=400)

        serializer.save()
        return Response(serializer.data, status=200)
예제 #2
0
    def create(self, request, org_pk, pk=None):
        org = self._get_object_or_404(Organization, {'pk': org_pk})

        self.check_object_permissions(self.request, org)

        post_data = request.data.copy()
        post_data.update({'author': request.user.pk, 'org': org.pk})

        serializer = PostSerializer(data=post_data)
        if not serializer.is_valid():
            return Response(serializer.errors, status=400)

        serializer.save()
        return Response(serializer.data, status=200)
예제 #3
0
    def partial_update(self, request, org_pk, post_pk, pk):
        org = self._get_object_or_404(Organization, {'pk': org_pk})

        self.check_object_permissions(self.request, org)

        post = self._get_object_or_404(Post, {'org': org, 'pk': post_pk})

        fragment = self._get_object_or_404(Fragment, {'post': post, 'pk': pk})

        serializer = PostSerializer(fragment, data=request.data, partial=True)
        if not serializer.is_valid():
            return Response(serializer.errors, status=400)

        serializer.save()
        return Response(serializer.data, status=200)
예제 #4
0
    def create(self, request, org_pk, pk=None):
        org = self._get_object_or_404(Organization, {'pk': org_pk})

        self.check_object_permissions(self.request, org)

        post_data = request.data.copy()
        post_data.update({
            'author': request.user.pk,
            'org': org.pk
        })

        serializer = PostSerializer(data=post_data)
        if not serializer.is_valid():
            return Response(serializer.errors, status=400)

        serializer.save()
        return Response(serializer.data, status=200)