La funzione (riga 5049) accetta i seguenti parametri:
- postType
- ID
- action
La funzione pensa per le seguenti possibili azioni:
- ‘archive’: archiviare un elemento
- ‘assign’: assegnare un elemento per responsabilità
- ‘attachmentChange’: modificare un allegato
- ‘attachmentDelete’: eliminare un allegato
- ‘attachmentNew’: allegare
- ‘delete’
- ‘favorite’
- ‘recoverFromTheArchive’
- ‘recoverFromTheBin’
- ‘removeFeatured’
- ‘setFeatured’
- ‘setStatusComplete’
- ‘statusChange’
- ‘suspend’
- ‘trainingAssign’
- ‘createTrainerChild’
Troviamo la funzione nei seguenti hook:
- item-menu (nel menu di azione per un oggetto definisce se si possa agire nei confornti dell’oggetto)
- list-item-menu (nel menu di azione per un oggetto definisce se si possa agire nei confornti dell’oggetto)
- nell’accesso diretto in modifica del record (click to edit)
- in item-meta-bcd-featured
- in item-meta-bcd-owner
La funzione si compone di un’indagine su 3 elementi fondamentali in scala di gerarchia/importanza:
- [checkSuperPermission] super permesso che scavalca la necessità di indagare sul rapporto fra user e record
- Il profilo di “developer setta un superpemesso
- Il profilo di [“administrator”, “securitymanager”, “qualitymanager”] setta un superpermesso
- Il profilo di “ticketmanager” (in relazione a obj.postType = ticket) setta un superpermesso
- Il profilo di “trainingmanager” (in relazione a obj.postType = trainer||trainee) setta un superpermesso
- La funzione BCD__amIAllowedTo effettua un controllo a livello di superpermessi nei riguardi del modulo in genere e può settare un superpermesso
- [checkSpecificModuleRules]
- Una sola verifica può invalidare a livello di modulo: che sia remoto (il valore nasce come positivo);
- [checkPostAndAction]
- una serie di verifiche a livello di combinazione fra il post e l’azione richiesta, prima si indaga sulle condizioni del post e poi ci si chiede, qualora non esista un superpermesso, della relazione fra user e post
LEGENDA
- Chiavi di permesso (in ordine di importanza):
- checkSuperPermission
- checkSpecificModuleRules
- un check che annulla il permesso: se il modulo è remoto! (non utilizzato alla versione 1.008)
- checkPostAndAction