From a71913869b70c4516d1497c71df3a33d0c58d018 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Pracha=C5=99?= <jan.prachar@gmail.com>
Date: Wed, 27 Apr 2022 09:41:58 +0200
Subject: [PATCH] =?UTF-8?q?Uplaod=20=C5=99e=C5=A1en=C3=AD:=20Zalo=C5=BEit?=
 =?UTF-8?q?=20pokud=20neexistuje?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 mo/jobs/submit.py | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/mo/jobs/submit.py b/mo/jobs/submit.py
index 82d19a8a..1c699b25 100644
--- a/mo/jobs/submit.py
+++ b/mo/jobs/submit.py
@@ -299,11 +299,16 @@ def handle_upload_feedback(the_job: TheJob):
             smtr.submit_paper(paper, fb.tmp_name)
             sess.add(paper)
 
+            # Najdeme řešení úlohy (nemusí existovat)
             sol = (sess.query(db.Solution)
                    .filter_by(task=fb.task, user=fb.user)
-                   .with_for_update()
-                   .one())
-            if fb.is_solution:
+                   .one_or_none())
+
+            if not sol:
+                sol = db.Solution(task=fb.task, user=fb.user)
+                sess.add(sol)
+
+            if paper.type == db.PaperType.solution:
                 sol.final_submit_obj = paper
             else:
                 sol.final_feedback_obj = paper
-- 
GitLab