From 2144c8b793609c0e1a579e492a10d3ae89a17178 Mon Sep 17 00:00:00 2001
From: Martin Mares <mj@ucw.cz>
Date: Wed, 6 Sep 2023 22:30:38 +0200
Subject: [PATCH] =?UTF-8?q?P=C5=99i=20importu=20do=20=C5=A1koln=C3=ADho=20?=
 =?UTF-8?q?kole=20=C5=A1kola=20defaultuje?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 mo/imports.py                    | 8 +++++++-
 mo/web/templates/doc_import.html | 4 +++-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/mo/imports.py b/mo/imports.py
index bcab8b4b..18f86059 100644
--- a/mo/imports.py
+++ b/mo/imports.py
@@ -471,7 +471,7 @@ class ContestImport(Import):
         email="nekdo@example.org",
         krestni="Pokusný",
         prijmeni="Králík",
-        kod_skoly="#3333",
+        kod_skoly="TODO",
         rocnik="1/8",
         rok_naroz="2000",
     )
@@ -495,6 +495,10 @@ class ContestImport(Import):
         self.only_region = only_region
         self.default_place = default_place
         self.allow_create_contests = allow_create_contests
+        if default_place is not None and default_place.type == db.PlaceType.school:
+            self.row_example.kod_skoly = default_place.get_code()
+        else:
+            self.row_example.kod_skoly = '#3333'
         assert not self.round.is_subround()
 
     def import_row(self, r: mo.csv.Row) -> None:
@@ -505,6 +509,8 @@ class ContestImport(Import):
         krestni = self.parse_name(r.krestni) if r.krestni else None
         prijmeni = self.parse_name(r.prijmeni) if r.prijmeni else None
         school_place = self.parse_school(r.kod_skoly) if r.kod_skoly else None
+        if school_place is None and self.default_place is not None and self.default_place.type == db.PlaceType.school:
+            school_place = self.default_place
         rocnik = self.parse_grade(r.rocnik, (school_place.school if school_place else None)) if r.rocnik else None
         rok_naroz = self.parse_born(r.rok_naroz) if r.rok_naroz else None
         misto = self.parse_opt_place(r.kod_mista, 'místo')
diff --git a/mo/web/templates/doc_import.html b/mo/web/templates/doc_import.html
index 6caa1f40..8a03cac5 100644
--- a/mo/web/templates/doc_import.html
+++ b/mo/web/templates/doc_import.html
@@ -27,7 +27,9 @@ když přidáte vlastní sloupce s novými názvy, budou se ignorovat.
 	<tr><td><b>email</b><td>E-mailová adresa
 	<tr><td><i>krestni</i><td>Křestní jméno
 	<tr><td><i>prijmeni</i><td>Příjmení
-	<tr><td><i>kod_skoly</i><td>Kód školy (viz katalog škol na tomto webu)
+	<tr><td><i>kod_skoly</i><td>Kód školy (viz katalog škol na tomto webu).
+		Pokud importujete do soutěže ve školním kole, můžete kód školy vynechat
+		a doplní se vaše škola.
 	<tr><td><i>rocnik</i><td>Navštěvovaný ročník (třída). Pro základní školy je to číslo od 1 do 9, pro <i>k</i>-tý ročník <i>r</i>-leté střední školy má formát <i>k</i>/<i>r</i>.
 	<tr><td><i>rok_naroz</i><td>Rok narození
 	<tr><td>kod_mista<td>Pokud účastník soutěží někde jinde, je zde uveden kód oblasti, školy,
-- 
GitLab