/** * Add the select records. * @param DOMNode $detailNode. The major node which contains the formBrowser we are creating * @param I2CE_MagicDataNode $formConfig /modules/forms/forms/$formName * @param I2CE_Form $formObj the form object for the form we are displaying ( or null.if we are not looking at a particular record) * @param boolean $even. If true, makes this have class 'even' */ protected function addParentLink($detailNode, $formConfig, $formObj, $even) { $parentFormLink = ''; $parentForm = ''; $added = false; $factory = I2CE_FormFactory::instance(); if ($formObj instanceof I2CE_Form) { $parentId = $formObj->getParentID(); if ($parentId > 0) { $parentForm = $factory->lookupFormByRecordId($parentId); } if ($parentForm) { $node = $this->template->getElementById('parent_form_row', $detailNode); if ($node instanceof DOMNode) { $added = true; if ($even) { $node->setAttribute('class', 'even'); } else { $node->setAttribute('class', ''); } } $parentFormLink = "formBrowser/showForm/{$parentForm}?FBPrefix={$this->formBrowserPrefix}&id={$parentId}"; } else { $even = !$even; } } $this->template->setDisplayDataImmediate("parent_form_name", $parentForm, $detailNode); $this->template->setDisplayDataImmediate("parent_form_link", $parentFormLink, $detailNode); $formNode = $this->template->getElementById('form_view_parent_button', $detailNode); if ($formNode instanceof DOMNode) { $formNode->setAttribute('id', $this->formBrowserPrefix . '_form_view_parent_button'); } if ($this->page->hasAjax() && $added) { if ($parentForm) { $this->page->addAjaxUpdate($this->formBrowserPrefix . '_content', $this->formBrowserPrefix . '_form_view_parent_button', 'click', "formBrowser/showForm/{$parentForm}?FBPrefix={$this->formBrowserPrefix}&id={$parentId}", $this->formBrowserPrefix . '_content', true, '', true); } } return $added; }