-
Notifications
You must be signed in to change notification settings - Fork 0
Zabudovanie do webov
Treba si pozrieť submit/settings.py
a ponastavaovať hlavne funkcie.
- nazov, cislo, kolo, kategoria ... (identifikacia, kam patri)
- subory zadanie/vzorak
- opravovatelia (v submit app sa nestara, ze opravuju aj ludia)
Mozno v samostatnom modeli scoring?
-
max automaticke body (external + testovac)
-
max manualne body
-
za ulohu su celociselne body
-
ma one-to-many vztah so submit receiverami (kedze Django nepodporuje 1-m, treba bud m-m alebo implementovat v submit app SubmitReceiversGroup, pricom by mal SubmitReceiver FK na tuto skupinu
Nastavuju sa definovanim funkcii v settingoch:
SUBMIT_CAN_POST_SUBMIT(receiver, user)
- submitovat moze defaultne hocikto (treba von z templatetagu kontolovat ci je aspon prihlaseny)
- da sa tu nastavit, aby sa nedalo submitovat pred zverejenim ulohy ak nie si admin
SUBMIT_HAS_ADMIN_PRIVILEGES_FOR_RECEIVER(receiver, user)
- na zobrazenie stránky submitu: kazdy vidi svoje, admin vidi vsetky
- admin moze submit pretestovat, upravit a vidi diff kazdeho vstupu pri WA
- da sa tu nastavit, aby specificke submity videli len veduci stredoskolskych seminarov / admini z istej skupiny
Vyriesi si kazdy web sam pomocou vlastnej funkcie: type(receiver) -> [source, description, link]
- da sa nastavit ako argument templatetagu submit-form (toto potom podporuje translation)
- primarne sa ale taha zo
SubmitReceiver.caption
(ak sa nastavi default caption pre submitreveiver templates, nazvy nebudu prelozene), tento sposob odporucam, ak bude mat specialna uloha vela receiverov so specifickymi menami (napr. 5 poduloh)
-
JUDGE_INTERFACE_IDENTITY
- podľa tohto sa testovač rozhodne, kam poslať protokol + používatelia na testovači budú mať priečinky so submitmi: JUDGE_INTERFACE_IDENTITY-user_id -
JUDGE_ADDRESS
aJUDGE_PORT
treba správne nastaviť - Priečinok, v ktorom sú vstupy k danému receiveru je primárne určený fieldom
inputs_folder_at_judge
receivera defaultne nastavený funkciouJUDGE_DEFAULT_INPUTS_FOLDER_FOR_RECEIVER
- treba implementovat
SUBMIT_POST_SUBMIT_FORM_VIEW.is_submit_accepted
aby podla terminu nastavilACCEPTED_WITH_PENALIZATION
- vysledkovka potom urci velkost penalizacie pre taketo submity
opravovacie GUI je v samostatnej appke reviews
model Review
má predpripravené fieldy pre reviews:
-
short_response
- krátky popis stavu (skratka):waiting for review, reviewed, won't be reivewed...
-
comment
- dlhší komentár opravovateľa. Zobrazuje sa na stránke submitu ale len ako plaintext. Trojstenweb podporoval markdown tak, že model review mal metódurendered_comment
. Po novom sa to vyrieši templatetagom, že toto prežeň markdownom. -
file_path
(nie je field) - opravený súbor
- treba pre každý seminár vytvoriť receiver templaty
- na strane vonkajšieho webu je implementovaný wizard na tvorenie kola / úlohy, kde sa automaticky pridajú receiver
- pri rozobalkovani sa vytvoria neaktivni pouzivatelia
- vytvoria sa im submity pomocou appky na rozobalkovanie
- pri reviewe sa im normalne nahodia body, mozno komentar?, mozno mozeme riesenie naskenovat ale nemalo by to byt treba
- contests - Task model a typy submitov
- results
- reviews
- rules
- special - vytvaranie submitov cez API
- submit - of course sa stary submit zmaze cely a bude treba zmenit strukturu folderov
- V novej submit app nie su nasledovne veci, ktore su v starej a treba ich zachovat na strane webu:
- round_submit_page
- active_rounds_submit_page
- markdown v komentároch vedúcich
- V novej submit app nie su nasledovne veci, ktore su v starej a treba ich zachovat na strane webu:
Ku väčšine z nich bude treba robiť aj dátové migrácie.