BCD__iHavePermissionTo()

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