new PermissionReplicator()
Classe que encapsula as funcionalidades referentes as permissões, tais como:
- cópia de permissões entre grupos/usuários;
- replicação de permissões de uma classe/grupo/usuário para as classes-filhas;
- ajustes nas permissões da classes filhas e mães após a inserção, exclusão e/ou edição de permissões.
Esta classe foi mantida apenas para garantir a compatibilidade com a classe global Permission. Ela não mantém corretamente as permissões com herança e não deveria ser mais utilizada.
- Deprecated:
Members
-
automaticApplyUpdates :boolean
-
Indica se, ao final de cada método chamado, as alterações realizadas devem ser gravadas no banco de dados.
Type:
- boolean
-
iPermission :DataSet
-
Espelho das permissões. As alterações das permissões devem ser realizadas neste dataset.
Type:
-
modifiedRecords :Object
-
Armazena as chaves alteradas através das seguintes propriedades do tipo array: insertedKeys, updatedKeys e deletedKeys.
Type:
- Object
Methods
-
_getReplicatedField()
-
Retorna os campos que podem ser replicados para a classe de permissão informada.
-
clearModifiedRecords()
-
Limpa as chaves armazenadas pela propriedade modifiedRecords.
-
copyGroupUser(fromGroupUser, toGroupUser [, parents] [, fieldNames])
-
Copia as permissões de um grupo/usuário para outro grupo/usuário.
Parameters:
Name Type Argument Description fromGroupUsernumber Chave do grupo/usuário do qual se deseja copiar as permissões.
toGroupUsernumber Chave do grupo/usuário destino das cópias de permissões.
parentsArray.<number> <optional>
Lista de chaves de classes e/ou registros da iVfs cujas permissões devem ser copiadas. Caso não seja informada, todas as classes e registros da iVfs serão copiados.
fieldNamesArray.<string> <optional>
Lista de nomes dos campos de permissão a ser copiados. Caso não seja informada todos os campos serão copiados.
Returns:
- Type
- Object | * | Object
-
replicate(permissions)
-
Ajusta as permissões inseridas, excluídas e/ou editadas replicando estas alterações nas classes-mães e classes-filhas das classes/vfs alvos das permissões.
Parameters:
Name Type Description permissionsArray.<number> Chaves das permissões incluídas, excluídas e/ou editadas as quais se deseja replicar estas alterações nas classes-mães e classes-filhas.
Returns:
- Type
- Object
Example
var permission = new Permission(); ... // Ajusta a exclusão da permissão do grupo "Developers" na classe "Clientes". // O grupo "Developers" não terá acesso as classes-filhas de "Clientes". permission.iPermission.indexFieldNames = 'iParent;iGroupUser'; permission.iPermission.find( [ -2007889000, -1898186562 ] ); var permissions = [ this.permission.iPermission.ikey ]; permission.iPermission.del(); permission.replicate( permissions ); ... // Ajusta a inclusão da permissão do grupo "Developers" na classe "Locais de Escrituração". // O grupo "Developers" terá poderá ver, alterar e inserir registros nas classes-mães // de "Locais de Escrituração". permission.iPermission.append(); permission.iPermission.iclass = -1898187812 // Permissions permission.iPermission.iparent = -1899998809; permission.iPermission.igroupuser = -1898186562; permission.iPermission.iview = 'T'; permission.iPermission.iinsert = 'T'; permission.iPermission.ichange = 'T'; permission.iPermission.post(); var permissions = [ permission.iPermission.ikey ]; permission.replicate( permissions ); ... // Ajusta a edição da permissão do grupo "Developers" na classe "Locais de Escrituração". // O grupo "Developers" não poderá alterar e inserir registros na classe // "Locais de Escrituração" e em suas classes-filhas. permission.iPermission.indexFieldNames = 'iParent;iGroupUser'; permission.iPermission.find( [ -1899998809, -1898186562 ] ); permission.iPermission.ichange = null; permission.iPermission.iinsert = null; var permissions = [ permission.iPermission.ikey ]; permission.iPermission.post(); permission.replicate( permissions );
-
replicateToChildren(parent, permissions)
-
Replica as permissões da classe informada em suas classes-filhas. Quando as permissões não forem informadas, todas as permissões definidas para a classe informada serão replicadas.
Parameters:
Name Type Description parentnumber Chave do grupo/usuário do qual se deseja replicar as permissões.
permissionsArray.<number> Chaves das permissões as quais se deseja replicar. Quando não informada, o método replicará todas as permissões definidas para a classe informada.
Returns:
- Type
- Object