This commit is contained in:
ITQ
2025-03-03 18:11:38 +03:00
parent 49e7928250
commit 38b89ea643
4 changed files with 36 additions and 3 deletions
+8
View File
@@ -22,6 +22,10 @@ services:
restart: false
condition: service_healthy
required: true
checker:
restart: false
condition: service_healthy
required: true
env_file:
- path: ./infrastructure/backend/.env.template
required: true
@@ -384,6 +388,10 @@ services:
restart: false
condition: service_completed_successfully
required: true
minio:
restart: false
condition: service_healthy
required: true
env_file:
- path: ./infrastructure/checker/.env.template
required: true
+5 -2
View File
@@ -116,7 +116,10 @@ def submit_task(
return status.FORBIDDEN, ForbiddenError()
if task.type == CompetitionTask.CompetitionTaskType.INPUT:
verdict = content.read() == task.correct_answer_file.read()
user_input = content.read()
correct_answer = task.correct_answer_file.read()
verdict = user_input == correct_answer
print(user_input, correct_answer)
submission = CompetitionTaskSubmission.objects.create(
user=user,
task=task,
@@ -125,7 +128,7 @@ def submit_task(
result={
"correct": verdict
},
earned_points=task.points
earned_points=task.points if verdict else 0
)
if task.type == CompetitionTask.CompetitionTaskType.REVIEW:
submission = CompetitionTaskSubmission.objects.create(
@@ -0,0 +1,19 @@
# Generated by Django 5.1.6 on 2025-03-03 15:11
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('task', '0002_remove_competitiontasksubmission_plagiarism_checked_and_more'),
]
operations = [
migrations.AlterField(
model_name='competitiontaskattachment',
name='task',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='attachments', to='task.competitiontask', verbose_name='задание'),
),
]
+4 -1
View File
@@ -111,7 +111,10 @@ class CompetitionTaskAttachment(BaseModel):
return f"attachments/{instance.id}/file/{filename}"
task = models.ForeignKey(
CompetitionTask, on_delete=models.CASCADE, verbose_name="задание"
CompetitionTask,
on_delete=models.CASCADE,
verbose_name="задание",
related_name="attachments",
)
file = models.FileField(upload_to=file_upload_at, verbose_name="файл")
bind_at = models.CharField(verbose_name="путь сохранения", max_length=255)