[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/Vtiger/uitypes/ -> Reference.php (source)

   1  <?php
   2  /*+***********************************************************************************
   3   * The contents of this file are subject to the vtiger CRM Public License Version 1.0
   4   * ("License"); You may not use this file except in compliance with the License
   5   * The Original Code is:  vtiger CRM Open Source
   6   * The Initial Developer of the Original Code is vtiger.
   7   * Portions created by vtiger are Copyright (C) vtiger.
   8   * All Rights Reserved.
   9   *************************************************************************************/
  10  
  11  class Vtiger_Reference_UIType extends Vtiger_Base_UIType {
  12  
  13      /**
  14       * Function to get the Template name for the current UI Type object
  15       * @return <String> - Template Name
  16       */
  17  	public function getTemplateName() {
  18          return 'uitypes/Reference.tpl';
  19      }
  20  
  21      /**
  22       * Function to get the Display Value, for the current field type with given DB Insert Value
  23       * @param <Object> $value
  24       * @return <Object>
  25       */
  26  	public function getReferenceModule($value) {
  27          $fieldModel = $this->get('field');
  28          $referenceModuleList = $fieldModel->getReferenceList();
  29          $referenceEntityType = getSalesEntityType($value);
  30          if(in_array($referenceEntityType, $referenceModuleList)) {
  31              return Vtiger_Module_Model::getInstance($referenceEntityType);
  32          } elseif (in_array('Users', $referenceModuleList)) {
  33              return Vtiger_Module_Model::getInstance('Users');
  34          }
  35          return null;
  36      }
  37  
  38      /**
  39       * Function to get the display value in detail view
  40       * @param <Integer> crmid of record
  41       * @return <String>
  42       */
  43  	public function getDisplayValue($value) {
  44          $referenceModule = $this->getReferenceModule($value);
  45          if($referenceModule && !empty($value)) {
  46              $referenceModuleName = $referenceModule->get('name');
  47              if($referenceModuleName == 'Users') {
  48                  $db = PearDatabase::getInstance();
  49                  $nameResult = $db->pquery('SELECT first_name, last_name FROM vtiger_users WHERE id = ?', array($value));
  50                  if($db->num_rows($nameResult)) {
  51                      return $db->query_result($nameResult, 0, 'first_name').' '.$db->query_result($nameResult, 0, 'last_name');
  52                  }
  53              } else {
  54                  $entityNames = getEntityName($referenceModuleName, array($value));
  55                  $linkValue = "<a href='index.php?module=$referenceModuleName&view=".$referenceModule->getDetailViewName()."&record=$value'
  56                              title='".vtranslate($referenceModuleName, $referenceModuleName)."'>$entityNames[$value]</a>";
  57                  return $linkValue;
  58              }
  59          }
  60          return '';
  61      }
  62  
  63      /**
  64       * Function to get the display value in edit view
  65       * @param reference record id
  66       * @return link
  67       */
  68  	public function getEditViewDisplayValue($value) {
  69          $referenceModule = $this->getReferenceModule($value);
  70          if($referenceModule) {
  71              $referenceModuleName = $referenceModule->get('name');
  72              $entityNames = getEntityName($referenceModuleName, array($value));
  73              return $entityNames[$value];
  74          }
  75          return '';
  76      }
  77      
  78      public function getListSearchTemplateName() {
  79          $fieldModel = $this->get('field');
  80          $fieldName = $fieldModel->getName();
  81          if($fieldName == 'modifiedby'){
  82              return 'uitypes/OwnerFieldSearchView.tpl';
  83          }
  84          return parent::getListSearchTemplateName();
  85      }
  86  
  87  }


Generated: Fri Nov 28 20:08:37 2014 Cross-referenced by PHPXref 0.7.1