fix create a comment

This commit is contained in:
2024-06-30 09:03:54 +08:00
parent 88a322b248
commit ee9f4f356f
3 changed files with 19 additions and 18 deletions

View File

@@ -4,9 +4,6 @@ from utils.api import serializers
class CreateCommentSerializer(serializers.Serializer):
problem_id = serializers.IntegerField()
submission_id = serializers.CharField(max_length=32, allow_null=True)
problem_solved = serializers.BooleanField()
language = serializers.CharField(max_length=10, allow_null=True)
description_rating = serializers.IntegerField()
difficulty_rating = serializers.IntegerField()
comprehensive_rating = serializers.IntegerField()

View File

@@ -18,27 +18,32 @@ class CommentAPI(APIView):
except Problem.DoesNotExist:
self.error("problem is not exists")
language = None
submission = None
if data.problem_solved and data.submission_id:
try:
data.submission_id
submission = Submission.objects.select_related("problem").get(
id=data.submission_id,
problem_solved = False
submission = (
Submission.objects.select_related("problem")
.filter(
user_id=request.user.id,
problem_id=data.problem_id,
result=JudgeStatus.ACCEPTED,
)
except Submission.DoesNotExist:
self.error("submission is not exists or not accepted")
.first()
)
if not data.problem_solved:
data.language = None
if submission:
problem_solved = True
language = submission.language
if language == "Python3":
language = "Python"
Comment.objects.create(
user=request.user,
problem=problem,
submission=submission,
problem_solved=data.problem_solved,
language=data.language,
problem_solved=problem_solved,
language=language,
description_rating=data.description_rating,
difficulty_rating=data.difficulty_rating,
comprehensive_rating=data.comprehensive_rating,

View File

@@ -10,7 +10,6 @@ from ..serializers import (
ProblemListSerializer,
)
from contest.models import ContestRuleType
from submission.models import JudgeStatus
class ProblemTagAPI(APIView):