Skip to main content

Advanced Permissions

Unitamente alla modifica della query per il recupero dei dati, si può inserire un controllo dei permessi personalizzato registrando un’ulteriore funzione:

SDK::setAdvancedPermissionFunction($module, $func, $src);
$module : modulo a cui associare la funzione
$func : nome della funzione da chiamare (da isPermitted())
$src : file php in cui è definita la funzione

Per de-registrarla c’è il metodo:

SDK::unsetAdvancedPermissionFunction($module);
$module : il modulo a cui è associata la funzione

La funzione deve essere definita in questo modo:

function f($module, $actionname, $record_id = '')
$module : il modulo da cui è chiamata
$actionname : il nome dell’azione (ListView, DetailView…)
$record_id : l’ID del record che viene analizzato

E deve restituire una stringa i cui valori determinano l’esito del controllo:

"no" : l’accesso al record NON è consentito
"" : (stringa vuota) accesso di default per quel campo
? : (qualsiasi stringa) l’accesso al record è consentito

Hooks
include/utils/UserInfoUtil.php