Beispiel #1
0
    def post(self, request):
        data = request.data.copy()
        data['author'] = request.user.id

        serializer_translation = MakeTranslationSerializer(data=data)
        serializer_file = VersionFileSerializer(data=data)

        check_set = (
            serializer_translation.is_valid(),
            serializer_file.is_valid(),
        )

        if False not in check_set:
            translation = serializer_translation.save()

            tg_hash = send_file(document=request.data['file'].open(),
                                chat='VersionFile')
            file = serializer_file.save(tg_hash=tg_hash)

            Version.objects.create(translation=translation, version_link=file)

            return Response(status=200)

        return Response(
            {
                'translation_errors': serializer_translation.errors,
                'file_errors': serializer_file.errors
            },
            status=400)
Beispiel #2
0
    def put(self, request):
        translation_id = int(request.POST.get('translation', -1))

        translation = get_object_or_404(Translation, pk=translation_id)

        serializer_file = VersionFileSerializer(data=request.data)

        if request.user.id == translation.author.id:
            if serializer_file.is_valid():
                tg_hash = send_file(document=request.data['file'].open(), chat='VersionFile')
                file = serializer_file.save(tg_hash=tg_hash)

                Version.objects.create(translation=translation, version_link=file)

                return Response(status=200)
            return Response(serializer_version.errors, status=400)
        return Response({'errors': 'user is not author of translation'}, status=400)