Select Git revision
user_contest_task.html
-
Martin Mareš authored
U praktických úloh nabízíme místo formuláře na odevzdání přechod do CMS přes nově dodělaný single sign-on.
Martin Mareš authoredU praktických úloh nabízíme místo formuláře na odevzdání přechod do CMS přes nově dodělaný single sign-on.
test-init 5.47 KiB
#!/bin/bash
set -e
if [ $# != 2 -o "$1" = "--help" ] ; then
cat <<AMEN
Použití: $0 <jméno-databáze> <datový-adresář>
POZOR: Databáze i datový adresář jsou kompletně přepsané!!!
Obojí musí odpovídat nastavení v mo.config.
AMEN
exit 1
fi
DB="$1"
DATA="$2"
T_GREEN="$(tput setaf 2)"
T_NORMAL="$(tput sgr0)"
PATH="./bin:$PATH"
progress ()
{
echo "${T_GREEN}>>> $1${T_NORMAL}"
}
run ()
{
echo "+ $@"
"$@"
}
init_data ()
{
progress "Inicializuji databázi"
psql "$DB" <db/drop-all.sql
psql "$DB" <db/db.ddl
progress "Inicializuji datový adresář"
rm -rf "$DATA"
run init-data-dir "$DATA"
progress "Zakládám regiony"
run init-regions
progress "Zakládám školy"
run init-schools
progress "Zkracuji školy"
run shorten-schools
}
init_codes ()
{
progress "Přiděluji školám kódy"
run test-school-code --red-izo 600039811 --code zs-sutka # ZŠ Na Šutce, P8
run test-school-code --red-izo 691008736 --code zs-brno # Scio ZŠ Brno
run test-school-code --red-izo 600005933 --code gulz # G U Libeň. zámku, P8
run test-school-code --red-izo 600013481 --code gkj # G tř. Kpt. Jaroše, Brno
}
init_users ()
{
progress "Zakládám uživatele"
run create-user admin@test Hlavní Administrátor --admin --passwd brum
run create-user cg@test Celostátní Garant --org --passwd brum
run add-role --email cg@test --role garant
run create-user kg@test Krajský Garant --org --passwd brum
run add-role --email kg@test --role garant_kraj --cat A --place A
run create-user og@test Okresní Garant --org --passwd brum
run add-role --email og@test --role garant_okres --cat Z --place P8
run create-user sg-sutka@test Garant 'ZŠ Šutka' --org --passwd brum
run add-role --email sg-sutka@test --role garant_skola --cat Z --place zs-sutka
run create-user sg-brno@test Garant 'ZŠ Brno' --org --passwd brum
run add-role --email sg-brno@test --role garant_skola --cat Z --place zs-brno
run create-user sg-gulz@test Garant 'G Libeň' --org --passwd brum
run add-role --email sg-gulz@test --role garant_skola --cat S --place gulz
run create-user sg-gkj@test Garant 'G Jaroše' --org --passwd brum
run add-role --email sg-gkj@test --role garant_skola --place gkj
run create-user ko@test Krajský Opravovatel --org --passwd brum
run add-role --email ko@test --role opravovatel --place A
run create-user so@test Školní Opravovatel --org --passwd brum
run add-role --email so@test --role opravovatel --cat Z --place zs-sutka
run create-user sd@test Školní Dozor --org --passwd brum
run add-role --email sd@test --role dozor --cat Z --place zs-sutka
run create-user u0@test Nultý Účastník --passwd brum
run create-user u1@test První Účastník --passwd brum
run create-user u2@test Druhý Účastník --passwd brum
run create-user u3@test Třetí Účastník --passwd brum
run create-user u4@test Čtvrtý Účastník --passwd brum
run create-user u5@test Pátý Účastník --passwd brum
}
init_contests ()
{
progress "Zakládám soutěže"
run init-year 42
# init-year zakládá krajská a vyšší kola, zde doplňujeme nižší
run create-contests 42-A-1 --region gulz --online-submit
run create-contests 42-A-1 --region gkj
run create-contests 42-A-2 --region gulz --online-submit
run create-contests 42-A-2 --region gkj
run create-contests 42-Z7-1 --region zs-sutka
run create-contests 42-Z7-1 --region zs-brno
run create-contests 42-Z7-2 --region P8
}
init_contestants ()
{
progress "Přihlašuji soutěžící"
# u0 zůstává volný na testování přihlášek
run register-year --email u1@test --year 42 --school gulz --grade 3/4 --birth-year=2002
run register-contest --email u1@test --round 42-A-1 --region gulz
run register-contest --email u1@test --round 42-A-2 --region gulz
run register-contest --email u1@test --round 42-A-3 --region A
run register-contest --email u1@test --round 42-A-4a --region CZ
run register-contest --email u1@test --round 42-P-1 --region CZ
run register-year --email u2@test --year 42 --school gkj --grade 4/4 --birth-year=2001
run register-contest --email u2@test --round 42-A-1 --region gkj
run register-contest --email u2@test --round 42-A-2 --region gkj
# V krajském kole soutěží v jiném kraji, než kam patří
run register-contest --email u2@test --round 42-A-3 --region B --site A
run register-contest --email u2@test --round 42-A-4a --region CZ
run register-contest --email u2@test --round 42-P-1 --region CZ
run register-year --email u3@test --year 42 --school zs-sutka --grade 7 --birth-year=2010
run register-contest --email u3@test --round 42-Z7-1 --region zs-sutka
# V okresním kole soutěží na své škole
run register-contest --email u3@test --round 42-Z7-2 --region P8 --site zs-sutka
run register-year --email u4@test --year 42 --school zs-sutka --grade 7 --birth-year=2011
run register-contest --email u4@test --round 42-Z7-1 --region zs-sutka
run register-contest --email u4@test --round 42-Z7-2 --region P8
# Na zs-brno registrujeme jen do prvního kola, ať se dá testovat zakládání
# soutěží a postupy.
run register-year --email u5@test --year 42 --school zs-brno --grade 7 --birth-year=2011
run register-contest --email u5@test --round 42-Z7-1 --region zs-brno
}
init_states ()
{
progress "Generuji PDF zadání"
echo '# Zadání úlohy' >"$DATA/tmp/zadani.md"
pandoc "$DATA/tmp/zadani.md" -o "$DATA/tmp/zadani.pdf"
progress "Nastavuji stav soutěží"
run test-state preparing --statement "$DATA/tmp/zadani.pdf"
}
init_data
init_codes
init_users
init_contests
init_contestants
init_states