/** * @see SugarView::display() */ public function display() { if (!empty($_REQUEST['record'])) { $module = $_SESSION['merge_module']; $field_count = 1; $diff_field_count = 0; require_once 'include/connectors/utils/ConnectorUtils.php'; $sources = ConnectorUtils::getModuleConnectors($module); $source_names = array(); $source_names['module']['name'] = $this->_leadQual->merge_bean->name; $result_beans = array(); require_once 'include/connectors/ConnectorFactory.php'; $index = 1; $viewdef_sources = array(); foreach ($sources as $source_id => $source_info) { if (!empty($_REQUEST[$source_id . '_id'])) { $viewdef_sources[$source_id] = true; $source_instance = ConnectorFactory::getInstance($source_id); try { $bean = $source_instance->fillBean(array('id' => $_REQUEST[$source_id . '_id']), $module); } catch (Exception $ex) { echo $ex->getMessage(); continue; } $result_beans[$index] = $bean; $source_names[$index]['name'] = $source_info['name']; $source_names[$index]['color'] = $this->_getRandomColor($index); $source_names[$index]['id'] = $index; $index++; if (!empty($bean->parent_duns) && (!empty($bean->duns) && $bean->parent_duns != $bean->duns)) { //go get the parent as well. $parent_bean = $source_instance->fillBean(array('id' => $bean->parent_duns), $module); $result_beans[$index] = $parent_bean; $source_names[$index]['name'] = $source_info['name']; $source_names[$index]['color'] = $this->_getRandomColor($index); $source_names[$index]['id'] = $index; $index++; } } } $viewdefs = ConnectorUtils::getViewDefs($viewdef_sources); if (empty($viewdefs['Connector']['MergeView'][$module])) { return; } $merge_fields = array(); $focusBean = BeanFactory::getBean($module); foreach ($viewdefs['Connector']['MergeView'][$module] as $field) { if ($focusBean->field_defs[$field]['type'] == 'relate') { continue; } $merge_fields[$field] = isset($focusBean->field_defs[$field]['vname']) ? $focusBean->field_defs[$field]['vname'] : $field; } //do not show the id on the merge screen if (!empty($merge_fields['id'])) { unset($merge_fields['id']); } $this->ss->assign('merge_fields', $merge_fields); $this->ss->assign('record_name', $this->_leadQual->merge_bean->name); $this->ss->assign('source_names', $source_names); $this->ss->assign('result_beans', $result_beans); $this->ss->assign('record', $this->_leadQual->merge_bean); $this->ss->assign('merge_module', $module); $this->ss->assign('mod', $GLOBALS['mod_strings']); echo $this->getModuleTitle(false); $this->ss->display($this->getCustomFilePathIfExists('modules/Connectors/tpls/step2.tpl')); } }