/** * Import model fields in form. * * Use $fields === false if you want to associate form with model, but don't create form fields. * * @param Model $model * @param array|string|bool $fields * * @return void|$this */ public function importFields($model, $fields = UNDEFINED) { $this->model = $model; $this->form = $this->owner; if ($fields === false) { return; } if (!$fields || $fields === UNDEFINED) { $fields = 'editable'; } if (!is_array($fields)) { // note: $fields parameter is only useful if model is SQL_Model $fields = $model->getActualFields($fields); } // import fields one by one foreach ($fields as $field) { $this->importField($field); } // set update hook if (!$this->_hook_set) { $this->owner->addHook('update', array($this, 'update')); $model->addHook('afterLoad', array($this, 'setFields')); $this->_hook_set = true; } return $this; }