Nastavení pro uživatele

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

Varování

POZOR - tato funkcionalita vzniká v průběhu celého roku 2021 a aktuálně v době psaní této dokumentace (08/2021) ještě stále není nic finální, čeká se na první prototyp fungováni (potvrzení o studiu). Některé zmiňované funkce budou v produkci později…

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

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 748. 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 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í.

Jako hodnotu položky lze kromě nějaké konstantní hodnoty použít i scriptovací jazyk Spring EL, který jsme právě proto do našeho modulu reportů adaptovali, popis možností je v kapitole o konfiguraci SQL dotazů. Tato hodnota se pak využije buď jako hodnota "předvyplněná" (v případě, že cílový uživatel smí parametr měnit) a nebo je prostě uvedená napevno (pokud nesmí měnit). Typicky tedy například jako hodnotu parametru "p_os_cislo" asi budeme uvádět hodnotu "#{os_cislo}" - to tedy doplní do parametru osobní číslo aktuálně přihlášeného uživatele. Plný popis možností je složitější a je k dispozici vývojářům, ale chcete-li něco více automatizovat, napište RT. POZOR - není dořešeno (a není to jednoduché) doplňování těchto scriptů do parametrů, které berou hodnoty z číselníků, tj. tam, kde jsou selectboxy… tam to prostě zatím v GUI neumíme rozumně udělat a případně je třeba to zadat přímo ručně v databázi (viz dále).

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 potvrzení o studiu pro studenta. V srpnu 2021 dokončíme přechod z původních dvou reportů (starý v Oracle Reports a starý v Javě v portálu) na jeden nový společný v modulu nových reportů, který zároveň použijeme i pro studenta a to i ve verzi s elektronickým pečetěním. Dokumentace bude dodána jakmile se řešení stabilizuje a bude uvedena přímo v dokumentaci k potvrzení o studiu.