- Template Name */ public function getTemplateName() { return 'uitypes/Reference.tpl'; } /** * Function to get the Display Value, for the current field type with given DB Insert Value * @param $value * @return */ public function getReferenceModule($value) { $fieldModel = $this->get('field'); $referenceModuleList = $fieldModel->getReferenceList(); $referenceEntityType = getSalesEntityType($value); if(in_array($referenceEntityType, $referenceModuleList)) { return Vtiger_Module_Model::getInstance($referenceEntityType); } elseif (in_array('Users', $referenceModuleList)) { return Vtiger_Module_Model::getInstance('Users'); } return null; } /** * Function to get the display value in detail view * @param crmid of record * @return */ public function getDisplayValue($value) { $referenceModule = $this->getReferenceModule($value); if($referenceModule && !empty($value)) { $referenceModuleName = $referenceModule->get('name'); if($referenceModuleName == 'Users') { $db = PearDatabase::getInstance(); $nameResult = $db->pquery('SELECT first_name, last_name FROM vtiger_users WHERE id = ?', array($value)); if($db->num_rows($nameResult)) { return $db->query_result($nameResult, 0, 'first_name').' '.$db->query_result($nameResult, 0, 'last_name'); } } else { $entityNames = getEntityName($referenceModuleName, array($value)); $linkValue = "$entityNames[$value]"; return $linkValue; } } return ''; } /** * Function to get the display value in edit view * @param reference record id * @return link */ public function getEditViewDisplayValue($value) { $referenceModule = $this->getReferenceModule($value); if($referenceModule) { $referenceModuleName = $referenceModule->get('name'); $entityNames = getEntityName($referenceModuleName, array($value)); return $entityNames[$value]; } return ''; } public function getListSearchTemplateName() { $fieldModel = $this->get('field'); $fieldName = $fieldModel->getName(); if($fieldName == 'modifiedby'){ return 'uitypes/OwnerFieldSearchView.tpl'; } return parent::getListSearchTemplateName(); } }