Filtrovaná vrstva podle uživatele - Nastavení viditelnosti/editovatelnosti některých funkcí pro některé uživatele.
Princip
Představená funkce filtrování umožňuje filtrovat data zobrazená na mapě na základě přihlášeného uživatele. Je možné filtrovat pouze vektorové vrstvy, protože Lizmap používá sloupec v atributové tabulce.
Filtrování v současné době používá ID připojené skupiny uživatelů. Je aktivní pro všechny požadavky na server QGIS, a proto se týká:
obrázky vektorových vrstev zobrazené na mapě.
vyskakovací okna. Viz Vyskakovací okno
seznamy prvků Lokalizovat podle vrstvy. Viz Vyhledat podle vrstvy - nástroj pro vyhledávání
drop-down seznamy formulářů Úpravy z Hodnota vztahu. Viz Úpravy - úprava vrstvy z webového rozhraní
zobrazení tabulky atributů atd.
Existují dva druhy filtrování :
na základě atributů
na základě prostorových vztahů
Filtrování podle prostorového vztahu
Princip
Na tomto panelu můžeme:
nakonfigurujte polygonovou vrstvu, která se použije pro prostorové filtrování.
konfigurujte vrstvy, které musí být filtrovány filtrační vrstvou.
Předpoklady
Zásuvný modul Lizmap v QGIS Serveru musí být nainstalován s minimálně zásuvným modulem Lizmap QGIS 3.6. V opačném případě nebude filtr fungovat a všechna data budou viditelná. Viz Zásuvný modul Lizmap QGIS Server.
Konfigurace nástroje
Výběr polygonové vrstvy použité pro filtrování
Vyberte pole v této vrstvě, které obsahuje skupiny nebo uživatele Lizmap, oddělené čárkou.
Vyberte si mezi Users nebo Groups podle obsahu vašeho předchozího pole.
Přidejte k tomuto nástroji vrstvu pro filtrování:
Klikněte na tlačítko .
Vyberte vrstvu, kterou chcete filtrovat
Zvolte primární klíč vrstvy
Zvolte, zda má filtrování sloužit k vizualizaci i úpravám, nebo pouze k úpravám.
Zvolte buď prostorový vztah k průsečíku, nebo obsahuje.
Chcete-li upravit vrstvu v tabulce, vyberte ji a klikněte na tlačítko nebo dvakrát klikněte na řádek.
Chcete-li vrstvu z tabulky odstranit, vyberte ji a klikněte na tlačítko .
Pro vaši informaci, výkon bude lepší při použití vrstev PostgreSQL : buď filtrování, nebo filtrované vrstvy, nebo obojí.
Filtrování podle atributu
Příklad
Je k dispozici video tutoriál na Vimeo.
Konfigurace nástroje
Chcete-li použít nástroj pro filtrování dat ve webovém klientovi Lizmap, musíte:
mít přístup k rozhraní pro správu klienta Lizmap Web Client.
Zde jsou uvedeny podrobné kroky pro konfiguraci této funkce:
Varování
V administraci webového klienta Lizmap se ve vlastnostech úložiště ujistěte, že není zaškrtnuto políčko anonymní
a další příslušné skupiny Vždy zobrazit kompletní data vrstev, i když jsou filtrována podle přihlášení. Viz Definujte práva pro každou skupinu.
Zkontrolujte ID skupiny nebo ID uživatele v rozhraní pro správu:
Chcete-li zjistit ID skupiny, musíte přejít do administračního rozhraní Skupiny nových uživatelů).
: ID se zobrazuje v závorce za názvem každé skupiny (pod názvemChcete-li zjistit ID uživatele, použijte jeho přihlašovací jméno.
Pro všechny vektorové vrstvy, které jsou požadovaným filtrem dat, stačí přidat textový sloupec, který bude obsahovat ID pro každý řádek, který má právo zobrazit tuto funkci.
Vyplňte tento sloupec pro každý řádek atributové tabulky ID (například pomocí kalkulačky).
V některých řádcích je možné nastavit jako hodnotu
všichni
, čímž se filtr vypne: Všichni uživatelé uvidí data pro tyto řádky.Pokud hodnota v tomto sloupci pro řádek neodpovídá skupině uživatelů, nezobrazí se data pro žádného uživatele.
Přidejte vrstvu do tabulky Filtr dat podle uživatele panel:
Klikněte na tlačítko .
Vyberte vrstvu z rozevíracího seznamu
Vyberte pole s ID
Vyberte si mezi Users nebo Groups podle obsahu vašeho předchozího pole.
Chcete-li upravit vrstvu v tabulce, vyberte ji a klikněte na tlačítko nebo dvakrát klikněte na řádek.
Chcete-li vrstvu z tabulky odstranit, vyberte ji a klikněte na tlačítko .
Varování
Zakázat mezipaměť klienta a server mezipaměti pro všechny filtrované vrstvy. V opačném případě nebudou zobrazená data mezi jednotlivými připojeními nebo odhlášením uživatele aktualizována!
Edice
Pokud jste ve filtrované vrstvě povolili editaci (viz Úpravy - úprava vrstvy z webového rozhraní), bude pole obsahující ID editovatelné pomocí:
buď combobox pro uživatele, který není administrátorem, s jeho vlastním přihlašovacím jménem nebo
všichni
nebo upravte řádek pro zapsání hodnoty pro uživatele s oprávněním správce