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á:

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.

../../_images/filter-polygon.gif

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

../../_images/interface-filter-by-polygon.jpg
  1. Výběr polygonové vrstvy použité pro filtrování

  2. Vyberte pole v této vrstvě, které obsahuje skupiny nebo uživatele Lizmap, oddělené čárkou.

  3. Vyberte si mezi Users nebo Groups podle obsahu vašeho předchozího pole.

  4. Přidejte k tomuto nástroji vrstvu pro filtrování:

    1. Klikněte na tlačítko add_layer_svg.

    2. Vyberte vrstvu, kterou chcete filtrovat

    3. Zvolte primární klíč vrstvy

    4. Zvolte, zda má filtrování sloužit k vizualizaci i úpravám, nebo pouze k úpravám.

    5. Zvolte buď prostorový vztah k průsečíku, nebo obsahuje.

  • Chcete-li upravit vrstvu v tabulce, vyberte ji a klikněte na tlačítko edit_layer_svg nebo dvakrát klikněte na řádek.

  • Chcete-li vrstvu z tabulky odstranit, vyberte ji a klikněte na tlačítko remove_layer_svg.

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í SYSTEM ‣ Skupiny uživatelů pro práva: ID se zobrazuje v závorce za názvem každé skupiny (pod názvem Skupiny nových uživatelů).

    • Chcete-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.

../../_images/interface-add-filter-by-login.jpg
  • Přidejte vrstvu do tabulky Filtr dat podle uživatele panel:

    1. Klikněte na tlačítko add_layer_svg.

    2. Vyberte vrstvu z rozevíracího seznamu

    3. Vyberte pole s ID

    4. 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 edit_layer_svg nebo dvakrát klikněte na řádek.

  • Chcete-li vrstvu z tabulky odstranit, vyberte ji a klikněte na tlačítko remove_layer_svg.

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