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)
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)