Open syslo opened 8 years ago
Na stretku sme sa zhodli, ze Wizard system by mal byt nejaka samostatna Django App, obsahujuca jednotlivych wizardov..., wizardi by mali vyzerat ako sucast webu, aby admin na bezne cinnosti nemusel liezt do Admina..
Pre beznych veducich potom obmedzime pocet pristupnych veci v Adminovi iba na veci, ktore sa nedaju vyklikat vo wizardoch (napr. nebudu uz vidiet ulohy v adminovi, ale bude stale vidiet userov, atd..)
Mali by sme vyrobit base class pre wizard view, od ktoreho by potom dedili vsetky wizard views.
Konkretny wizard by som si predstavil ako seriu krokov, kde kazdy krok by bol 1 wizard view. Kazdy view by vedel zadefinovat nejake data, ktore potom ostatne views budu citat. Kazdy view by mal zoznam akcii/dalsich krokov (tlacitok), ktore by linkovali na dalsie wizard views plus back tlacitko, ktore by ho vratilo o krok spat.
Wizard view/system by sa mal starat o presun dat medzi jednotlivymi krokmi a routovanie akcii (vratane back akcie).
Akcie mozme spravit bud fixne (next + finish), alebo lubovolne (podla mna netreba). Jedotlive kroky mozu byt bud nezavisle, t.j. dokoncenie kazdeho kroku sposobi aplikacoiu zmien (podlamna je to lepsie), alebo sucast transakcie, t.j. zmeny sa aplikuju az po kliknuti finish (toto je asi zlozitejsie, a podla mna to ani nema zmysel).
Back by mal revertovat zmeny aplikovane v predchadzajucom kroku.
Wizard by mal mat base template, od ktoreho budu dedit vsetky wizard views + default template, ktory bude obsahovat nejake zakladne veci, aby si clovek nemusel pre kazdy view robit vlastny tempalte.
Napriklad pre pridavanie papierovych rieseni by wizard mohol vyzerat takto:
Pre vyrobu kola by wizard mohol vyzerat takto:
Doraz wizardov by mal byt na co najmenej klikania a co najrozumnejsie defaulty. Aby pre vecsinu pripadov veduci klikal len na next a vyplnil len nutne udaje.
Mozno by sa dalo zneuzit toto: https://django-formtools.readthedocs.io/en/latest/wizard.html
Volakedy to bolo sucastou djanga, oddrbali to do zvlast package.
Chceli by sme mať wizardov na rôzne automatizovateľné činnosti - vytváranie série, rozobálkovanie, vytváranie sústredka, ... Wizardi by mali byť špecifický pre každý seminár. Potrebujeme teda framework, ktorý nám ich umožní implementovať a zobrazovať vedúcim.