|
| __construct ($id) |
| Costruttore. More...
|
|
| __toString () |
| Rappresentaazione a stringa dell'oggetto. More...
|
|
| __construct ($id=null) |
| Costruttore. More...
|
|
| __toString () |
| Rappresentazione a stringa dell'oggetto Sovrascrivere questo metodo nella classe figlia per restituire un valore parlante. More...
|
|
| fieldLabel ($field) |
| Etichetta del campo. More...
|
|
| setIsConstraint ($is_constraint) |
| Setter per la proprietà che contiene le informazioni per il check dei constraint Esempio: More...
|
|
| __get ($pName) |
| Metodo richiamato ogni volta che qualcuno prova a ottenere una proprietà dell'oggetto non definita. More...
|
|
| __set ($pName, $pValue) |
| Metodo richiamato ogni volta che qualcuno prova a impostare una proprietà dell'oggetto non definita ($this->{fieldname}) More...
|
|
| m2mtObject ($m2mt_field, $id) |
| Ritorna l'oggetto ManyToMany through model. More...
|
|
| ml ($pName) |
| Recupera le proprietà con la traduzione. More...
|
|
| getStructure () |
| Struttura dei campi del modello Un array associativo che contiene tutti i campi come chiavi e le relative classi di tipo Field come valore. More...
|
|
| getRecordValues () |
| Valori di un record. More...
|
|
| getController () |
| Controller del modello. More...
|
|
| save ($options=array()) |
| Salva il modello su db Salva sia i campi della tabella sia i m2m. More...
|
|
| savem2m ($m2m) |
| Salvataggio dei ManyToMany. More...
|
|
| deleteDbData () |
| Elimina le proprietà su db del modello e le traduzioni. More...
|
|
| delete () |
| Elimina l'oggetto Elimina i dati su db, le traduzioni, e le associazioni m2m e m2mt Controlla che non ci siano regole di constraint che impediscano l'eliminazione, in caso ce ne fossero di non rispettate ritorna un elenco di regole che impediscono l'eliminazione. More...
|
|
| deletem2m () |
| Elimina le associazioni m2m. More...
|
|
| deletem2mthrough () |
| Elimina le associazioni m2mt. More...
|
|
| deletem2mthroughField ($field_name) |
| Elimina lòe associazioni di un campo m2mt. More...
|
|
| getModelLabel () |
| Etichetta del modello. More...
|
|
| getTable () |
| Tabella principale dei dati. More...
|
|
| getProperties ($field_obj) |
| Racchiude tutte le proprietà di un mdello Recupera le proprietà del campo dipendenti dai valori del record e imposta le opzioni: model, field_object, value, table. More...
|
|
| build ($field_obj) |
| Classe Build del campo di tabella. More...
|
|
| shows ($field_obj) |
| Valore da mostrare in output. More...
|
|
| fetchColumns ($id) |
| Recupera i valori del record e li carica nella proprietà _p Il valore dei campi di tipo ManyToMany è un array che racchiude i valori id dei record della tabella di join associata al modello. More...
|
|
| refreshModel () |
| Refresh del modello (da chiamare manualmente) More...
|
|
Classe tipo Gino.Model che rappresenta un permesso.
- Copyright
- 2013-2015 Otto srl MIT License http://www.opensource.org/licenses/mit-license.php
- Authors
- Marco Guidotti guido.nosp@m.ttim.nosp@m.@gmai.nosp@m.l.co.nosp@m.m
-
abidibo abidi.nosp@m.bo@g.nosp@m.mail..nosp@m.com
I permessi sono relativi ad una classe. Nel momento in cui vengono associati a gruppi o utenti si aggiunge l'informazione istanza, che vale 0 per classi non istanziabili. Quando richiedo il controllo bloccante di un permesso (Gino.Access::requirePerm()) devo dare classe, codice e istanza. Il codice puo' essere un array di codici di permessi tutti appartenenti alla stessa classe e istanza. Se voglio permettere l'accesso con permessi di classi o istanze diverse uso più volte Gino.Access::requirePerm().
I Controller hanno una shortcut di Gino.Access::requirePerm() dove classe e istanza sono passati direttamente e coincidono con le proprietà del Controller stesso.
La stessa cosa per il controllo non bloccante, con i metodi Gino.App.Auth.User::hasPerm() e lo shortcut Gino.Controller::userHasPerm().
Esistono permessi di sistema (hanno class='core') che sono generici. La classe Gino.Core non esiste tra le ModuleApp, ma l'eccezione viene gestita interamente all'interno della classe Permission, per tutti gli altri si tratta di permessi analoghi agli altri e non vedono alcuna differenza. Il nome della classe è core e non system siccome core è una classe esistente e non si può creare un modulo di uguale nome.
I Controller devono definire i permessi per le outputFunction(), in quel contesto si considerano i permessi di classe, non di istanza. Servono per mostrare i permessi quando si trattano i metodi di output (menu, layout etc...). In tale contesto l'indicazione del permesso deve essere necessariamente nel formato classe.codice, in questo modo si possono attibuire permessi di tipo core alla visualizzazione dei metodi, oppure permessi di altre classi.
Non è stata utilizzata la stessa notazione per i controlli in quanto in questo caso bisogna specificare anche l'istanza e diventerebbe complicato, ed inoltre non si potrebbero definire gli shortcut che nel 90% dei casi sono sufficienti.
Per recuperare i permessi di tutti i moduli (istanziabili e non) ed i permessi core da utilizzare in un form per una associazione, utilizzare Gino.App.Auth.Permission::getForMulticheck().