Skip to content
Snippets Groups Projects

WIP: Zárodek uživatelské části webu a submitování

Closed Martin Mareš requested to merge devel into master
Compare and Show latest version
41 files
+ 1237
309
Compare changes
  • Side-by-side
  • Inline

Files

+ 12
8
@@ -73,10 +73,12 @@ CREATE TABLE schools (
CREATE TYPE round_state AS ENUM (
'preparing', -- v přípravě (viditelné pouze organizátorům)
'running', -- je možno odevzdávat (za daných časových omezeních)
'running', -- je možno odevzdávat
'grading', -- je možno opravovat a vyplňovat body
'closed' -- uzavřeno, není dovoleno nic měnit, zveřejněny výsledky
-- garanta stavy neomezují, vždycky může všechno
-- Garanta stavy neomezují, vždycky může všechno.
-- Ve stavu "running" mohou odevzdávat účastníci i dozor, a to i po termínu,
-- jen se odevzdaná řešení zobrazují jako opožděná.
);
CREATE TABLE rounds (
@@ -87,9 +89,10 @@ CREATE TABLE rounds (
level int NOT NULL, -- úroveň hierarchie míst
name varchar(255) NOT NULL, -- zobrazované jméno ("Krajské kolo" apod.)
state round_state NOT NULL DEFAULT 'preparing', -- stav kola
submit_start timestamp with time zone DEFAULT NULL, -- od kdy se smí odevzdávat
ct_submit_end timestamp with time zone DEFAULT NULL, -- do kdy mohou odevzdávat účastníci
pr_submit_end timestamp with time zone DEFAULT NULL, -- do kdy může odevzdávat dozor
tasks_file varchar(255) DEFAULT NULL, -- jméno souboru se zadáním úloh
ct_tasks_start timestamp with time zone DEFAULT NULL, -- od kdy účastníci vidí zadání
ct_submit_end timestamp with time zone DEFAULT NULL, -- do kdy účastníci mohou regulérně odevzdávat
pr_submit_end timestamp with time zone DEFAULT NULL, -- do kdy dozor může regulérně odevzdávat
UNIQUE (year, category, seq)
);
@@ -154,15 +157,16 @@ CREATE TABLE papers (
uploaded_at timestamp with time zone NOT NULL DEFAULT CURRENT_TIMESTAMP,
pages int DEFAULT NULL, -- počet stránek
bytes int DEFAULT NULL, -- velikost souboru
file_name varchar(255) NOT NULL -- relativní cesta k souboru
file_name varchar(255) NOT NULL, -- relativní cesta k souboru
note text NOT NULL DEFAULT "" -- komentář uploadujícího
);
-- Odevzdané řešení
CREATE TABLE solutions (
task_id int NOT NULL REFERENCES tasks(task_id),
user_id int NOT NULL REFERENCES users(user_id),
last_submit int DEFAULT NULL REFERENCES papers(paper_id), -- nejnovější odevzdání
last_feedback int DEFAULT NULL REFERENCES papers(paper_id), -- nejnovější komentáře opravovatelů
final_submit int DEFAULT NULL REFERENCES papers(paper_id), -- verze odevzdání, která se má hodnotit
final_feedback int DEFAULT NULL REFERENCES papers(paper_id), -- verze komentáře opravovatelů, kterou má vidět účastník
points int DEFAULT NULL,
PRIMARY KEY (task_id, user_id)
);
Loading