FormDataModel
in package
Class FormDataModel
Table of Contents
Properties
- $blocks : array<string|int, mixed>
- $defaults : mixed
- $entities : array<string|int, array<string|int, mixed>>
- $searchDisplays : array<string|int, array<string|int, mixed>>
- $secureApi4s : array<string|int, mixed>
Methods
- __construct() : mixed
- findSearchDisplay() : mixed
- Finds a search display within a fieldset
- getEntities() : array<string|int, array<string|int, mixed>>
- getEntity() : array{type: string, fields: array, joins: array, security: string, actions: array}
- getField() : array<string|int, mixed>|null
- Loads a field definition from the schema
- getSearchDisplay() : array{fields: array, searchName: string}
- getSecureApi4() : callable
- Prepare to access APIv4 on behalf of a particular entity. This will enforce any security options associated with that entity.
- isActionAllowed() : bool
- Determine if we are allowed to perform a given action for this entity.
- parseFields() : mixed
- Fills $this->entities[*]['fields'] and $this->['entities'][*]['joins'][*]['fields'] and $this->searchDisplays[*]['fields']
Properties
$blocks
protected
array<string|int, mixed>
$blocks
= []
$defaults
protected
mixed
$defaults
= ['security' => 'RBAC', 'actions' => ['create' => TRUE, 'update' => TRUE], 'min' => 1, 'max' => 1]
$entities
protected
array<string|int, array<string|int, mixed>>
$entities
Ex: $entities['spouse']['type'] = 'Contact';
$searchDisplays
protected
array<string|int, array<string|int, mixed>>
$searchDisplays
= []
$secureApi4s
protected
array<string|int, mixed>
$secureApi4s
= []
Ex: $secureApi4s['spouse'] = function($entity, $action, $params){...};
Methods
__construct()
public
__construct(mixed $layout) : mixed
Parameters
- $layout : mixed
findSearchDisplay()
Finds a search display within a fieldset
public
findSearchDisplay(array<string|int, mixed> $node) : mixed
Parameters
- $node : array<string|int, mixed>
getEntities()
public
getEntities() : array<string|int, array<string|int, mixed>>
Return values
array<string|int, array<string|int, mixed>> —Ex: $entities['spouse']['type'] = 'Contact';
getEntity()
public
getEntity(mixed $entityName) : array{type: string, fields: array, joins: array, security: string, actions: array}
Parameters
- $entityName : mixed
Return values
array{type: string, fields: array, joins: array, security: string, actions: array}getField()
Loads a field definition from the schema
public
static getField(string $entityName, string $fieldName, string $action[, array<string|int, mixed> $values = [] ]) : array<string|int, mixed>|null
Parameters
- $entityName : string
- $fieldName : string
- $action : string
- $values : array<string|int, mixed> = []
Return values
array<string|int, mixed>|nullgetSearchDisplay()
public
getSearchDisplay(mixed $displayName) : array{fields: array, searchName: string}
Parameters
- $displayName : mixed
Return values
array{fields: array, searchName: string}getSecureApi4()
Prepare to access APIv4 on behalf of a particular entity. This will enforce any security options associated with that entity.
public
getSecureApi4(string $entityName) : callable
$formDataModel->getSecureApi4('me')('Contact', 'get', ['where'=>[...]]); $formDataModel->getSecureApi4('me')('Email', 'create', [...]);
Parameters
- $entityName : string
-
Ex: 'Individual1', 'Individual2', 'me', 'spouse', 'children', 'theMeeting'
Return values
callable —API4-style
isActionAllowed()
Determine if we are allowed to perform a given action for this entity.
protected
isActionAllowed(mixed $entityDefn, mixed $entity, mixed $action, mixed $params) : bool
Parameters
- $entityDefn : mixed
- $entity : mixed
- $action : mixed
- $params : mixed
Return values
boolparseFields()
Fills $this->entities[*]['fields'] and $this->['entities'][*]['joins'][*]['fields'] and $this->searchDisplays[*]['fields']
protected
parseFields(array<string|int, mixed> $nodes[, string $entity = NULL ][, string $join = NULL ][, string $searchDisplay = NULL ][, array<string|int, mixed> $afIfConditions = [] ]) : mixed
Note that it does not fill in fields metadata from the schema, only the markup in the form. To fetch field's schema definition, use the getFields function.
Parameters
- $nodes : array<string|int, mixed>
- $entity : string = NULL
- $join : string = NULL
- $searchDisplay : string = NULL
- $afIfConditions : array<string|int, mixed> = []