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:
le immagini dei livelli vettoriali visualizzate sulla mappa
i popup. Vedi Popup
gli elenchi di elementi Locate by layer. Vedi Locate by layer — The locating tool.
drop-down lists of Editing forms from Value relation. See Editing — Edit a layer from the web interface
la visualizzazione della tabella degli attributi, ecc.
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](../../_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](../../_images/interface-filter-by-polygon.jpg)
Scegliere il layer poligonale usato per il filtro
Choose the field in this layer which has Lizmap groups or users, separated by a comma.
Choose between Users or Groups according to the content of your previous field.
Aggiungi un layer per da filtrare a questo tool:
Fai clic sul pulsante
.
Scegliere il livello da filtrare
Scegliere la chiave primaria del layer
Scegliere se il filtro è sia per la visualizzazione che per la modifica o solo per la modifica
Scegliete la relazione spaziale interseca o contiene.
Per modificare un livello nella tabella, selezionalo e clicca sul pulsante
o fai doppio clic sulla riga.
Per rimuovere un livello dalla tabella, selezionalo e clicca sul pulsante
.
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 Gruppi di nuovi utenti)
: L’ID appare tra parentesi dopo il nome di ogni gruppo (sotto il titoloO 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](../../_images/interface-add-filter-by-login.jpg)
Aggiungi il livello nel pannello della tabella Filtro dati per utente:
Fai clic sul pulsante
.
Seleziona il livello dall’elenco a discesa
Seleziona il campo con l’ID
Choose between Users or Groups according to the content of your previous field.
Per modificare un livello nella tabella, selezionalo e clicca sul pulsante
o fai doppio clic sulla riga.
Per rimuovere un livello dalla tabella, selezionalo e clicca sul pulsante
.
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