Query Options

Sezione dedicata lla pubblicazione di tutorial per la versione di base di OpenSTAManager.
Rispondi
angelo
Messaggi: 31
Iscritto il: 18 gen 2016 17:58

Query Options

Messaggio da angelo »

Buongiorno a tutti,
nella query options di un nuovo modulo avrei bisogno di filtrare per utente loggato. Vedo che tra le variabili di sessione c'è appunto id_utente e pensavo che usando la stessa sintassi utilizzata per |period_start| oppure per |period_end| avrei risolto. Probabilmente il codice che decodifica la query options non riconosce |id_utente|.
Mi confermate quanto detto?
Dove posso intervenire?

Grazie a tutti.

Avatar utente
fabiop82
Messaggi: 896
Iscritto il: 27 mar 2012 19:27
Località: Padova
Contatta:

Re: Query Options

Messaggio da fabiop82 »

ciao angelo
confermo |id_utente| non viene gestito

leggi anche questo post con la stessa domanda, qui spiego anche dove "mettere le mani" :lol:
https://www.openstamanager.com/forum/vi ... 55&p=97444

noi solitamente gestiamo questa necessità tramite una seconda tabella `zz_group_module` che letteralmente aggiunge delle clausole aggiuntive alle query dei vari moduli, se accedo al programma da un determinato gruppo di utenti.

Mi spiego meglio, se entro con un utente del gruppo Clienti, alla query del modulo Attività viene aggiunta la seguente clausola aggiuntiva: in_interventi.idanagrafica=|idanagrafica|
in questo modo filtro solo le attività svolte presso il cliente che si è loggato, nella tabella in questione vedi record con name='Mostra interventi ai clienti coinvolti'

Ps. Spiegazione valida dalla versione >= 2.3.1
nelle versioni precedenti la logica era già presente, ma la tabella aveva un'altro nome
programmatore freelance - Padova
STAFF OpenSTAManager
http://www.fpsoftware.net

angelo
Messaggi: 31
Iscritto il: 18 gen 2016 17:58

Re: Query Options

Messaggio da angelo »

Ciao Fabio,
come sempre i tuoi suggerimenti sono preziosi.
Il post che mi hai indicato l'avevo visto ma la mia versione 2.3.1 non ha il file src/app.php però dopo aver studiato un pò il file src/modules.php ho individuato la funzione getQuery ed inserito la seguente riga di codice :
$options = str_replace(['|id_utente|'],[$_SESSION['id_utente']], $options);
In questo modo riesco ad ottenere quanto voluto ma devo verificare se la modifica ha qualche impatto negativo altrove.

La soluzione di usare dei filtri aggiuntivi nella tabella zz_group_modules, che non conoscevo, è una figata solo che avendo molti gruppi utenti e diverse viste che necessitano del filtro |id_utente|, significherebbe creare per ogni modulo tanti filtri quanti sono i gruppi.

Grazie ancora.

Rispondi