'CompanyRetail', 'DatasetName' => 'companyretailaccounts', 'Entity' => '\Company\Entity\CompanyRetail', 'References' => array( 'company' => '\Company\Entity\Company', 'retail' => '\Retail\Entity\Retail' ), 'Dependants' => array() ); /* * @var array */ protected $metaSelectList = array( 'Type' => 'SelectList', 'Contract' => 'Recurring', 'RequiredInput' => array(), 'OptionalInput' => array( 'Filter' => array( 'company' => 'Id', 'retail' => 'Id' ) ), 'Filter' => array(), 'Label' => array( 'Format' => '[name]', 'Fields' => array('name') ) ); /** * @var array */ protected $metaGrid = array( 'Type' => 'Grid', 'Contract' => 'Recurring', 'RequiredInput' => array(), 'OptionalInput' => array( 'Grid' => array( 'NumberOfRecords' => 'Integer', 'Page' => 'Integer', 'Filter' => 'Array', 'OrderBy' => 'Array', ) ), 'Base' => 'company', 'NumberOfRecords' => 10, 'Query' => 'SELECT [SELECTION] FROM \Company\Entity\CompanyRetail companyRetail JOIN companyRetail.company company [WHERE] [ORDER]', 'Selection' => 'companyRetail, company', 'Filter' => array(), 'OrderBy' => array('company.name' => 'ASC'), 'Fields' => array( 'id', 'name', 'created' => 'DateTime', 'updated' => 'DateTime', 'archived' ) ); protected $metaCreate = array( 'Type' => 'Create', 'Contract' => 'UseOnce', 'ConditionalContract' => array( 'noDuplicateRetailEntries' ), 'Expand' => array( 'retail' ), 'RequiredInput' => array( 'CompanyRetail' => array( 'retail' => 'Id', 'username' => 'String150', 'password' => 'String64' ) ), 'OptionalInput' => array() ); /** * @var array */ protected $metaUpdate = array( 'Type' => 'Update', 'Contract' => 'UseOnce', 'Expand' => array( 'retail' ), 'RequiredInput' => array( 'CompanyRetail' => array( 'username' => 'String150', 'password' => 'String64' ) ), 'OptionalInput' => array( 'CompanyRetail' => array( 'archived' => 'Boolean' ) ) ); /** * Add some dynamic filtering to our grids. */ public function __construct() { $authData = \Utility\Registry::getAuthData(); switch (\Utility\Registry::getUserType()) { case 'B4C User': $companyFilter = \Utility\Registry::getSudo('Company', $authData['company']['id']); $this->metaGrid['Filter']['company.id'] = $companyFilter ? $companyFilter : 0; break; case 'Group User': $companyFilter = \Utility\Registry::getSudo('Company', $authData['company']['id']); $this->metaGrid['Filter']['company.id'] = $companyFilter ? $companyFilter : 0; break; default: $this->metaGrid['Filter']['company.id'] = $authData['company']['id']; break; } } }