Nastavení pro uživatele

Na seznam témat a kapitol (obsah)Nadřízená kapitola

Tato funkcionalita umožní administrátorům škol (i vývojářům samotným) nakonfigurovat specifické věci per uživatelská role, případně per fakulta

Příklad: Pokud report volá studijní referentka nebo jiný vyšší uživatel, má k dispozici všechny možnosti, všechny parametry, může volit i třeba typ/formát výstupu, může volit zda odeslat do spisovky, zda podepsat/pečetit… cokoliv. Ale my chceme ten samý report co možná nejjednodušeji použít i například pro samotného studenta, abychom ideálně mohli jen "nějak" z portálové stránky studenta odkázat na nějakou "odlehčenou" verzi reportu - odlehčenou tím, že si nebude moct volit buď vůbec žádné parametry nebo třeba jen několik z nich (a tohle si budou moci stanovit administrátoři škol) a odlehčenou i tím, že nebude mít k dispozici uživatelské rozhraní celého reportovacího nástroje, ale jen takové malinké odlehčené (jen případný výběr parametrů a stažení výsledku). Tedy mít možnost, aby administrátor pro studentskou roli stanovil pro některé parametry reportu pevně nějakou danou hodnotu a pro některé řekl, že je student může měnit.

Navrženo je to tedy tak, že lze (jste-li uživatel s rolí administrátor) v GUI aplikace (IS/STAG / Reporty) nahoře přepnout na záložku "Správa uživ. nastavení". Tam si vyberete report, kterého se to bude týkat a můžete vložit nové nastavení. Formulář vypadá velmi podobně, jako "parameter form" daného reportu, jen je tam pár věcí navíc:

Administrace uživatelských nastavení reportu

Obrázek 819. Administrace uživatelských nastavení reportu. 

  • Název. Administrátor si může libovolně pojmenovat toto nastavení, pouze rozlišovací označení

  • Role (filtr uživatele). Klasická IS/STAG role, které se to má týkat - nastavení se pak tedy aplikuje na uživatele s touto rolí.

  • Fakulta (filtr uživatele). Je to připraveno i na rozlišení per-fakulta uživatele - je-li uvedeno, nastavení se aplikuje na uživatele patřící k dané fakultě.

  • Další položky - zaškrtávátka.  U každé další položky je zcela vpravo uvedeno zaškrtávátko - to říká, zda uživatel vyhovující filtru bude moci danou položku vůbec vidět a měnit. Ve výchozím případě nemůže měnit nic, zaškrtáním položek tedy vyjmenujete ty, které měnit smí.

  • U select-boxů uveden běžný textový inputbox.  V případě, že je parametr typu SELECT BOX (Výběrový seznam), je možno jako jeho hodnotu zvolit buď přímo jednu konkrétní hodnotu v select boxu a nebo použít speciální textový input (ihned vpravo od selectboxu), do nějž lze zadat hodnotu i s použitím vzorce.

Zadávané hodnoty podporují použití tzv. Spring Expression Language, speciálního scriptovacího jazyka, kterým lze do hodnot vložit nějakou dynamickou hodnotu. Například chcete-li do parametru reportu "Osobní číslo" vložit osobní číslo aktuálního uživatele zadejte zde tuto hodnotu: \#{os_cislo}. Všechny možné použitelné hodnoty jsou tyto:

  • #{os_cislo}.  je-li volající uživatel student, jeho osobní číslo. Není-li to student, prázdná hodnota.

  • #{username}.  login použitý uživatelem při přihlášení do portálu.

  • #{ucitidno}.  je-li volající uživatel student, prázdná hodnota. Je-li to učitel či nějaká vyšší role, jeho identifikátor UCITIDNO z tabulky UCITELE.

  • #{fakulta}.  je-li volající uživatel student, fakulta jeho studijního programu. Je-li to učitel či nějaká vyšší role, položka fakulta od jeho uživatelské role.

  • #{katedra}.  je-li volající uživatel student, prázdná hodnota. Je-li to učitel či nějaká vyšší role, položka katedra od jeho uživatelské role.

  • #{akademicky_rok}.  aktuální akademický rok (dnešní den, dle kalendáře IS/STAG).

  • #{dnesniDatum}.  dnešní datum, používat pouze pro položky typu datum.

Databázově jsou tato uživatelská nastavení uložena ve schématu INSTALL2 v tabulce REP_QUOS. Obsahuje několik základních určujících sloupečků plus jeden CLOB sloupec s JSON hodnotou, v níž je uloženo kompletně nastavení. V případě nouze lze tedy z DB smazat či JSON nějak ručně upravit, nicméně to velmi nedoporučujeme.

Prototypová implementace je elektronické potvrzení o studiu pro studenta, doporučujeme prohlédnout jeho popis v dokumentaci.