Jak na APEX 7:  Přidávání příloh, autorizace, autentifikace a role

Jak na APEX 7:  Přidávání příloh, autorizace, autentifikace a role

Tématem tohoto článku bude ukládání souborů k eventům v aplikaci Zaměstnanci. V té jsem v předchozím článku vytvořil kalendář a okno pro jejich vytváření.  Dále pak ukážu, jak se dá nastavit role uživatelů a různé druhy přihlášení, které APEX nabízí.

Začněme přílohami. Jako první krok vytvoříte tabulku, do které se budou soubory ukládat.

Jak by tabulka měla vypadat, ukazuje obrázek. Celý skript jsem vzal z předinstalované aplikace Oracle. Pokud byste tento skript chtěli využít, najdete ho v příloze na konci článku.

Skript spustíte v SQL workshopu. Vytvoří tabulku, kterou použijete pro konstrukci modálního okna formuláře.

Na následujícím screenu vidíte, jak tvořím modální okno, ve kterém se bude soubor ukládat.

Na modálním okně detailu je potřeba přidat nový region, který bude obsahovat přílohy. K němu pak uděláte tlačítko, které bude otvírat právě nově vytvořené modální okno. SQL querry bude opět přiložená na konci článku.

Region přejmenujte a změňte ho na rozkládací, aby nezabíral zbytečně místo.

Nyní vytvořím tlačítko, které otevře modální okno a umožní mi tak přidat přílohu.

Pokud by se stalo, že nové modální okno zavře to předcházející (ve chvíli, kdy zavřete okno příloh, zároveň se zavře i okno eventu), je třeba nastavit atribut chained na „NO“. Na dalším obrázku je znázorněn postup.

Teď bych se rád věnoval samotnému oknu. Nepotřebná pole skryjte a změňte typ těch, která zůstala viditelná.

Jak vidíte, stránka obsahuje pole, které se jmenuje P65_FILE_BLOB. Blob je sloupec do kterého se pole ukládá a obsahuje samotný soubor. Toto pole je nastavené na file browse. Pokud na něj kliknete, otevře se prohlížeč souborů, z něhož můžete požadovaný soubor vybrat. Pro uložení přílohy k danému eventu je ještě nutné zadat ID eventu pro otevírání okna příloh.

Nyní můžete uložit přílohu k vaší události.

Přílohu jsme přidali, ale stále není viditelná v regionu s přílohami. Co s tím? Abyste obnovili tabulku musíte použít tlačítko GO. Protože zájem je, aby se příloha ukládala automaticky, a navíc lišta s tlačítkem GO zabírá zbytečně moc místa, odstraním ji.

Search bar odstraníte v atributech regionu attachments. Pokud chcete, aby se sama automaticky obnovovala tabulka, musíte nastavit novou dynamickou akci na tlačítku add_attach. Zde na event close dialog nastavíte refresh  daného regionu. Jak můžete vidět na obrázku, nastavení obnovení regionu je automatické. Pojďme se podívat, jak to vypadá v praxi.

V tuto chvíli máme hotové přílohy. Dále bych vám rád ukázal, kde se nastavují role a přihlašování. Nejprve nastavíme autorizační skupinu development, v ní pak funkci, která mě přiřadí do této skupiny podle jména. Přihlašování pak najdete v shared components / authentication a role v authorization.

Pokud je nastavena nová role, mohu ji použít pro zviditelnění či zneviditelnění jednotlivých regionů, tlačítek, položek v menu a nebo i celých stránek.

Na následujícím gifu vám ukáži, jak použít roli pro region obrázku a také nastavení, při kterém region uvidíte a i to, při kterém ho neuvidíte.

Pomocí rolí můžete rozdělit v podstatě celou aplikaci. Každý jednotlivý uživatel uvidí jen to, co by měl vidět. Ještě nám zbývá jedna věc – možnosti přihlášení.

Pokud si nastavení neupravíte, je každá aplikace nastavena tak, aby se do ní přihlásil jen uživatel s platným Oracle APEX účtem. V obrázku vidíte možnost vytvoření přihlášení bez ověřování. V praxi to znamená, že se do aplikace dostane kdokoliv, kdo bude mít správný link, a to bez toho, aby vůbec viděl přihlašovací obrazovku.Link do aplikace https://apex.oracle.com/pls/apex/f?p=25893

Toto je prozatím vše k základním nastavením rolí a přihlašování. Samozřejmě si s APEXEM můžete hrát a prozkoumávat ho, protože možností úprav a personifikace, nabízí skutečně velké množství. U polí se select listem je vždy otazník s nápovědou. Zde jsou jednotlivé položky srozumitelně vysvětleny.

Skript z regionu attachments a skript pro vytvoření tabulky: https://uloz.to/!xKsXN0F2DU1Q/skripty-7-sql