public function addLocation() { $recArr = $this->readInputRecord(); $this->setActiveRecord($recArr); if (count($recArr) == 0) { return; } try { $this->ValidateForm(); } catch (Openbiz\Validation\Exception $e) { $this->processFormObjError($e->errors); return; } if (!$this->parentFormElemName) { //its only supports 1-m assoc now $parentForm = Openbiz::getObject($this->parentFormName); //$parentForm->getDataObj()->clearSearchRule(); $parentDo = $parentForm->getDataObj(); $column = $parentDo->association['Column']; $field = $parentDo->getFieldNameByColumn($column); $parentRefVal = $parentDo->association["FieldRefVal"]; $recArr[$field] = $parentRefVal; $cond_column = $parentDo->association['CondColumn']; $cond_value = $parentDo->association['CondValue']; if ($cond_column) { $cond_field = $parentDo->getFieldNameByColumn($cond_column); $recArr[$cond_field] = $cond_value; } } if ($this->parentFormElemName && $this->pickerMap) { return; //not supported yet } $recId = $parentDo->InsertRecord($recArr); $parentForm = Openbiz::getObject($this->parentFormName); $parentForm->rerender(); return parent::close(); }