ss->assign('nolink', true); }else{ $this->ss->assign('nolink', false); } $this->setup($parentFieldArray, $vardef, $displayParams, $tabindex); return $this->fetch($this->findTemplate('DetailView')); } function getEditViewSmarty($parentFieldArray, $vardef, $displayParams, $tabindex) { $form_name = 'EditView'; if(isset($displayParams['formName'])) { $form_name = $displayParams['formName']; } $popup_request_data = array( 'call_back_function' => 'set_return', 'form_name' => $form_name, 'field_to_name_array' => array( 'id' => $vardef['id_name'], 'name' => $vardef['name'], ), ); global $app_list_strings; $parent_types = $app_list_strings['record_type_display']; $disabled_parent_types = ACLController::disabledModuleList($parent_types,false, 'list'); foreach($disabled_parent_types as $disabled_parent_type){ if($disabled_parent_type != $focus->parent_type){ unset($parent_types[$disabled_parent_type]); } } asort($parent_types); $json = getJSONobj(); $displayParams['popupData'] = '{literal}'.$json->encode($popup_request_data).'{/literal}'; $displayParams['disabled_parent_types'] = ''; $this->ss->assign('quickSearchCode', $this->createQuickSearchCode($form_name, $vardef)); $this->setup($parentFieldArray, $vardef, $displayParams, $tabindex); return $this->fetch($this->findTemplate('EditView')); } function getSearchViewSmarty($parentFieldArray, $vardef, $displayParams, $tabindex) { $form_name = 'search_form'; if(isset($displayParams['formName'])) { $form_name = $displayParams['formName']; } $this->ss->assign('form_name', $form_name); $popup_request_data = array( 'call_back_function' => 'set_return', 'form_name' => $form_name, 'field_to_name_array' => array( 'id' => $vardef['id_name'], 'name' => $vardef['name'], ), ); global $app_list_strings; $parent_types = $app_list_strings['record_type_display']; $disabled_parent_types = ACLController::disabledModuleList($parent_types,false, 'list'); foreach($disabled_parent_types as $disabled_parent_type){ if($disabled_parent_type != $focus->parent_type){ unset($parent_types[$disabled_parent_type]); } } $json = getJSONobj(); $displayParams['popupData'] = '{literal}'.$json->encode($popup_request_data).'{/literal}'; $displayParams['disabled_parent_types'] = ''; $this->setup($parentFieldArray, $vardef, $displayParams, $tabindex); return $this->fetch($this->findTemplate('SearchView')); } /** * @see SugarFieldBase::importSanitize() */ public function importSanitize( $value, $vardef, $focus, ImportFieldSanitize $settings ) { global $beanList; if ( isset($vardef['type_name']) ) { $moduleName = $vardef['type_name']; if ( isset($focus->$moduleName) && isset($beanList[$focus->$moduleName]) ) { $vardef['module'] = $focus->$moduleName; $vardef['rname'] = 'name'; $relatedBean = loadBean($focus->$moduleName); $vardef['table'] = $relatedBean->table_name; return parent::importSanitize($value,$vardef,$focus,$settings); } } return false; } function createQuickSearchCode($formName = 'EditView', $vardef){ require_once('include/QuickSearchDefaults.php'); $json = getJSONobj(); $dynamicParentTypePlaceHolder = "**@**"; //Placeholder for dynamic parent so smarty tags are not escaped in json encoding. $dynamicParentType = '{/literal}{if !empty($fields.parent_type.value)}{$fields.parent_type.value}{else}Accounts{/if}{literal}'; //Get the parent sqs definition $qsd = new QuickSearchDefaults(); $qsd->setFormName($formName); $sqsFieldArray = $qsd->getQSParent($dynamicParentTypePlaceHolder); $qsFieldName = $formName . "_" . $vardef['name']; //Build the javascript $quicksearch_js = ''; } } ?>