editácia a pridávanie dieťaťa a príbuzných

Jeden komponent na pridávanie aj editáciu dieťaťa a príbuzných - čo to je sa rozhodne na základe toho, či v activatedRoute paramMap príde id dieťaťa (inšpirovať sa dá v EventEditComponent).

V tomto komponente sa nerieši do akej triedy dieťa patrí, ani či príbuzný má konto v keycloaku - teda pri nových príbuzných na nevypĺňa idUser.

Základná vec, ktorá sa má pri pridávaní zabezpečiť, aby príbuzní neboli v databáze 2x, teda ak ide o dieťa, ktoré už malo v škôlke súrodencov, malo väzbu s tými istými entitami príbuzných ako jeho súrodenec.

Dá sa to napríklad vyriešiť tak, že sa pri pridávaní spýtame používateľa, či už súrodenec bol v škôlke. Ak áno, umožníme ho nájsť a automaticky priradiť k novému dieťaťu príbuzných.

Ak používateľ sa chová, ako že nemá súrodenca, defaultne je zobrazený formulárik pre 2 príbuzných s predpísanými rolami mamka a ocko a cez tlačidlo "Ďalší príbuzný" pridávame ďalších (ideálne ako FormArray, kde prvky sú FormGroup s údajmi o príbuznom). Do databázy sa ukladajú iba príbuzní, ktorí majú uvedené aspoň meno a priezvisko a rolu. Pri editácii príbuzného treba dať pozor na to, aby sa nezmazalo idUser.

Ak je pri pridávaní "nového" príbuzného konflikt na serveri v mene+priezvisku, pýtame sa, či je to ten istý ako entita z DB v konflikte, ktorú ukážeme (môžu byť menovci, takže ak používateľ povie že nie, je to v poriadku, bude to nová entita). Zakázané je však mať konflikt v telefóne alebo emaili - zakáže sa mu odoslať formulár (buď zmení mail alebo telefón alebo si vyberie človeka z DB). Ak si vyberie príbuzného z DB, entita sa nahradí vrátane id a idUser.

Edited May 21, 2023 by Peter Gurský
Assignee Loading
Time tracking Loading