Filtered layer by user — Set some features visible/editable or not for some users

Regola

La funzione di filtro presentata permette di filtrare i dati visualizzati sulla mappa in base all’utente loggato. È possibile filtrare solo gli livelli vettoriali perché Lizmap utilizza una colonna nella tabella degli attributi.

Il filtro attualmente utilizza l’ID del gruppo di utenti collegato. È attivo per tutte le richieste al server QGIS, e quindi riguarda:

Ci sono due tipi di filtri:

  • basato su attributi

  • basato su relazioni spaziali

Filtro per relazioni spaziali

Regola

In questo pannello, noi possiamo:

  • configurare un livello poligonale da usarsi per il filtro spaziale

  • configurare i layers i quali devono essere filtrati dal layer filtro

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

Prerequisiti

Il plugin Lizmap in QGIS Server deve essere installato con almeno Lizmap QGIS plugin 3.6. Altrimenti il filtro non funzionerà e tutti i dati saranno visibili. Vedere Lizmap QGIS Server plugins.

Configurazione del plugin

../../_images/interface-filter-by-polygon.jpg
  1. Scegliere il layer poligonale usato per il filtro

  2. Choose the field in this layer which has Lizmap groups or users, separated by a comma.

  3. Choose between Users or Groups according to the content of your previous field.

  4. Aggiungi un layer per da filtrare a questo tool:

    1. Fai clic sul pulsante add_layer_svg.

    2. Scegliere il livello da filtrare

    3. Scegliere la chiave primaria del layer

    4. Scegliere se il filtro è sia per la visualizzazione che per la modifica o solo per la modifica

    5. Scegliete la relazione spaziale interseca o contiene.

  • Per modificare un livello nella tabella, selezionalo e clicca sul pulsante edit_layer_svg o fai doppio clic sulla riga.

  • Per rimuovere un livello dalla tabella, selezionalo e clicca sul pulsante remove_layer_svg.

Per tua informazione, le prestazioni saranno migliori quando si utilizzano i livelli PostgreSQL: siano essi filtranti o filtrati o entrambi.

Filtrare per attributo

Esempio

A video tutorial is available on Vimeo.

Configurazione del plugin

Per utilizzare lo strumento di filtro dei dati in Lizmap Web Client, è necessario:

  • avere accesso all’interfaccia di amministrazione di Lizmap Web Client

Ecco i passi dettagliati per configurare questa funzionalità:

Avvertimento

Nell’amministrazione di Lizmap Web Client, nelle proprietà del repository, assicurarsi che anonymous e altri gruppi rilevanti non siano selezionati per Visualizza sempre i dati completi dei livelli, anche se filtrati dal login. Vedi Definire i diritti per ogni gruppo.

  • Controlla l’ID del gruppo o l’ID dell’utente nell’interfaccia di amministrazione:

    • Per conoscere l’ID del gruppo, dovete andare nell’interfaccia di amministrazione SYSTEM ‣ Gruppi di utenti per i diritti: L’ID appare tra parentesi dopo il nome di ogni gruppo (sotto il titolo Gruppi di nuovi utenti)

    • O per conoscere l’ID utente, basta usare il suo login.

  • Per tutti i livelli vettoriali per cui si desiderano filtrare i dati, basta aggiungere una colonna di testo che conterrà l’ID per ogni linea che ha i permessi di visualizzare questo elemento.

    • Riempite questa colonna per ogni riga della tabella degli attributi con l’ID (usando il calcolatore dei campi, per esempio).

    • È possibile impostare all come valore in alcune righe per disabilitare il filtro: Tutti gli utenti vedranno i dati di queste righe.

    • Se il valore in questa colonna per una riga non corrisponde a un gruppo di utenti, allora i dati non saranno visualizzati per nessun utente.

../../_images/interface-add-filter-by-login.jpg
  • Aggiungi il livello nel pannello della tabella Filtro dati per utente:

    1. Fai clic sul pulsante add_layer_svg.

    2. Seleziona il livello dall’elenco a discesa

    3. Seleziona il campo con l’ID

    4. Choose between Users or Groups according to the content of your previous field.

  • Per modificare un livello nella tabella, selezionalo e clicca sul pulsante edit_layer_svg o fai doppio clic sulla riga.

  • Per rimuovere un livello dalla tabella, selezionalo e clicca sul pulsante remove_layer_svg.

Avvertimento

Disabilita la cache del client e del server per tutti i livelli filtrati. Altrimenti, i dati visualizzati non saranno aggiornati tra ogni connessione o logout dell’utente!

Redazione

If you have enabled the edition (see Editing — Edit a layer from the web interface) on the filtered layer, the field containing the ID will be editable with:

  • o una combobox per un utente non amministratore o con il proprio login o con all.

  • o edita una linea per scrivere un valore per un utente admin