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