[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/EmailTemplates/models/ -> DetailView.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 EmailTemplates_DetailView_Model extends Vtiger_DetailView_Model {
  12      
  13      /**

  14       * Function to get the detail view links (links and widgets)

  15       * @param <array> $linkParams - parameters which will be used to calicaulate the params

  16       * @return <array> - array of link models in the format as below

  17       *                   array('linktype'=>list of link models);

  18       */
  19  	public function getDetailViewLinks($linkParams) {
  20          $linkTypes = array('DETAILVIEWBASIC','DETAILVIEW');
  21          $moduleModel = $this->getModule();
  22          $recordModel = $this->getRecord();
  23  
  24          $moduleName = $moduleModel->getName();
  25          $recordId = $recordModel->getId();
  26  
  27          $detailViewLink = array();
  28  
  29          $detailViewLinks[] = array(
  30                  'linktype' => 'DETAILVIEWBASIC',
  31                  'linklabel' => 'LBL_EDIT',
  32                  'linkurl' => $recordModel->getEditViewUrl(),
  33                  'linkicon' => ''
  34          );
  35  
  36          foreach ($detailViewLinks as $detailViewLink) {
  37              $linkModelList['DETAILVIEWBASIC'][] = Vtiger_Link_Model::getInstanceFromValues($detailViewLink);
  38          }
  39  
  40          $linkModelListDetails = Vtiger_Link_Model::getAllByType($moduleModel->getId(),$linkTypes,$linkParams);
  41          $detailViewBasiclinks = $linkModelListDetails['DETAILVIEWBASIC'];
  42          unset($linkModelListDetails['DETAILVIEWBASIC']);
  43  
  44              $deletelinkModel = array(
  45                      'linktype' => 'DETAILVIEW',
  46                      'linklabel' => 'LBL_DELETE',
  47                      'linkurl' => 'javascript:Vtiger_Detail_Js.deleteRecord("'.$recordModel->getDeleteUrl().'")',
  48                      'linkicon' => ''
  49              );
  50              $linkModelList['DETAILVIEW'][] = Vtiger_Link_Model::getInstanceFromValues($deletelinkModel);
  51  
  52          if(!empty($detailViewBasiclinks)) {
  53              foreach($detailViewBasiclinks as $linkModel) {
  54                  $linkModelList['DETAILVIEW'][] = $linkModel;
  55              }
  56          }
  57          return $linkModelList;
  58      }
  59      
  60      /**

  61       * Function to get the Quick Links for the Detail view of the module

  62       * @param <Array> $linkParams

  63       * @return <Array> List of Vtiger_Link_Model instances

  64       */
  65  	public function getSideBarLinks($linkParams) {
  66          $linkTypes = array('SIDEBARLINK', 'SIDEBARWIDGET');
  67          $moduleLinks = $this->getModule()->getSideBarLinks($linkTypes);
  68          
  69          $listLinkTypes = array('DETAILVIEWSIDEBARLINK', 'DETAILVIEWSIDEBARWIDGET');
  70          $listLinks = Vtiger_Link_Model::getAllByType($this->getModule()->getId(), $listLinkTypes);
  71          
  72          if($listLinks['DETAILVIEWSIDEBARLINK']) {
  73              foreach($listLinks['DETAILVIEWSIDEBARLINK'] as $link) {
  74                  $link->linkurl = $link->linkurl.'&record='.$this->getRecord()->getId().'&source_module='.$this->getModule()->getName();
  75                  $moduleLinks['SIDEBARLINK'][] = $link;
  76              }
  77          }
  78  
  79          if($listLinks['DETAILVIEWSIDEBARWIDGET']) {
  80              foreach($listLinks['DETAILVIEWSIDEBARWIDGET'] as $link) {
  81                  $link->linkurl = $link->linkurl.'&record='.$this->getRecord()->getId().'&source_module='.$this->getModule()->getName();
  82                  $moduleLinks['SIDEBARWIDGET'][] = $link;
  83              }
  84          }
  85          
  86          return $moduleLinks;
  87      }
  88      
  89      /**

  90       * Function to get the instance

  91       * @param <String> $moduleName - module name

  92       * @param <String> $recordId - record id

  93       * @return <Vtiger_DetailView_Model>

  94       */
  95  	public static function getInstance($moduleName,$recordId) {
  96          $modelClassName = Vtiger_Loader::getComponentClassName('Model', 'DetailView', $moduleName);
  97          $instance = new $modelClassName();
  98  
  99          $moduleModel = EmailTemplates_Module_Model::getInstance($moduleName);
 100          $recordModel = EmailTemplates_Record_Model::getInstanceById($recordId, $moduleName);
 101          
 102          return $instance->setModule($moduleModel)->setRecord($recordModel);
 103      }
 104  }


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