/** * check if field should be validated * * @param $field * @param $fieldSettings * @return bool */ protected function shouldValidateField($field, $fieldSettings) { if (!parent::shouldValidateField($field, $fieldSettings)) { return false; } $depends = $this->getFormDepends(); if (isset($depends[$field])) { $allValid = false; foreach ($depends[$field] as $dependGroup) { $isValid = true; foreach ($dependGroup as $fieldDepend => $values) { if (isset($values['entity'])) { $allowedValues = $values['entity']; $source = $this->getEntity(); } else { $allowedValues = $values['attribute']; $source = $this; } $value = trim($source->getData($fieldDepend)); if (!in_array($value, $allowedValues)) { $isValid = false; continue; } } if ($isValid) { $allValid = true; } } if (!$allValid) { return false; } } return true; }
/** * __call magic method * handle the getHasAttributeType, getHasRelationType calls * * @param string $method * @param array $args * @return bool|mixed */ public function __call($method, $args) { if (substr($method, 0, strlen('getHasAttributeTypeRequired')) == 'getHasAttributeTypeRequired') { $key = $this->_underscore(substr($method, strlen('getHasAttributeTypeRequired'))); return $this->getHasAttributeTypeRequired($key); } if (substr($method, 0, strlen('getHasAttributeType')) == 'getHasAttributeType') { $key = $this->_underscore(substr($method, strlen('getHasAttributeType'))); return $this->getHasAttributeType($key); } if (substr($method, 0, strlen('getHasRelationType')) == 'getHasRelationType') { $key = $this->_underscore(substr($method, strlen('getHasRelationType'))); return $this->hasRelationType($key); } return parent::__call($method, $args); }
/** * get the form name * * @return mixed */ public function getFormName() { return $this->model->getEntityCode(); }
public function generateParentConstructExtraParams(AbstractModel $model) { $this->parentConstructExtraParams = ''; if (isset($this->config['parent_construct_extra'])) { $this->parentConstructExtraParams = $model->filterContent($this->config['parent_construct_extra']); } return $this; }
/** * filter content * * @param $content * @return string */ public function filterContent($content) { return $this->model->filterContent($content); }
/** * __call magic method * handle getEntityFlag and getHasAttributeType calls * * @param string $method * @param array $args * @return mixed */ public function __call($method, $args) { if (substr($method, 0, strlen('getEntityFlag')) == 'getEntityFlag') { $key = $this->_underscore(substr($method, strlen('getEntityFlag'))); return $this->getEntityFlag($key); } if (substr($method, 0, strlen('getHasAttributeType')) == 'getHasAttributeType') { $key = $this->_underscore(substr($method, 0, 3)); return $this->getEntityFlag($key); } return parent::__call($method, $args); }
/** * @param string $method * @param array $args * @return mixed */ public function __call($method, $args) { if (substr($method, 0, strlen('getE1')) == 'getE1') { $entities = $this->getEntities(); $key = $this->_underscore(substr($method, strlen('getE1'))); return $entities[0]->getDataUsingMethod($key); } if (substr($method, 0, strlen('getE2')) == 'getE2') { $entities = $this->getEntities(); $key = $this->_underscore(substr($method, strlen('getE2'))); return $entities[1]->getDataUsingMethod($key); } return parent::__call($method, $args); }