[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/PriceBooks/views/ -> Detail.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 PriceBooks_Detail_View extends Vtiger_Detail_View {
  12      
  13      
  14      /**
  15       * Function returns related records
  16       * @param Vtiger_Request $request
  17       * @return <type>
  18       */
  19  	function showRelatedList(Vtiger_Request $request) {
  20          $moduleName = $request->getModule();
  21          $relatedModuleName = $request->get('relatedModule');
  22          $parentId = $request->get('record');
  23          $label = $request->get('tab_label');
  24  
  25          $requestedPage = $request->get('page');
  26          if(empty ($requestedPage)) {
  27              $requestedPage = 1;
  28          }
  29  
  30  
  31          $pagingModel = new Vtiger_Paging_Model();
  32          $pagingModel->set('page',$requestedPage);
  33  
  34          $parentRecordModel = Vtiger_Record_Model::getInstanceById($parentId, $moduleName);
  35          $relationListView = Vtiger_RelationListView_Model::getInstance($parentRecordModel, $relatedModuleName, $label);
  36          $orderBy = $request->get('orderby');
  37          $sortOrder = $request->get('sortorder');
  38          if($sortOrder == "ASC") {
  39              $nextSortOrder = "DESC";
  40              $sortImage = "icon-chevron-down";
  41          } else {
  42              $nextSortOrder = "ASC";
  43              $sortImage = "icon-chevron-up";
  44          }
  45          if(!empty($orderBy)) {
  46              $relationListView->set('orderby', $orderBy);
  47              $relationListView->set('sortorder',$sortOrder);
  48          }
  49          $models = $relationListView->getEntries($pagingModel);
  50          $links = $relationListView->getLinks();
  51          $header = $relationListView->getHeaders();
  52          $noOfEntries = count($models);
  53  
  54          $parentRecordCurrencyId = $parentRecordModel->get('currency_id');
  55          if ($parentRecordCurrencyId) {
  56              $relatedModuleModel = Vtiger_Module_Model::getInstance($relatedModuleName);
  57  
  58              foreach ($models as $recordId => $recorModel) {
  59                  $productIdsList[$recordId] = $recordId;
  60              }
  61              $unitPricesList = $relatedModuleModel->getPricesForProducts($parentRecordCurrencyId, $productIdsList);
  62  
  63              foreach ($models as $recordId => $recorModel) {
  64                  $recorModel->set('unit_price', $unitPricesList[$recordId]);
  65              }
  66          }
  67  
  68          $relationModel = $relationListView->getRelationModel();
  69          $relationField = $relationModel->getRelationField();
  70  
  71          $viewer = $this->getViewer($request);
  72          $viewer->assign('RELATED_RECORDS' , $models);
  73          $viewer->assign('PARENT_RECORD', $parentRecordModel);
  74          $viewer->assign('RELATED_LIST_LINKS', $links);
  75          $viewer->assign('RELATED_HEADERS', $header);
  76          $viewer->assign('RELATED_MODULE', $relationModel->getRelationModuleModel());
  77          $viewer->assign('RELATED_ENTIRES_COUNT', $noOfEntries);
  78          $viewer->assign('RELATION_FIELD', $relationField);
  79  
  80          if (PerformancePrefs::getBoolean('LISTVIEW_COMPUTE_PAGE_COUNT', false)) {
  81              $totalCount = $relationListView->getRelatedEntriesCount();
  82              $pageLimit = $pagingModel->getPageLimit();
  83              $pageCount = ceil((int) $totalCount / (int) $pageLimit);
  84  
  85              if($pageCount == 0){
  86                  $pageCount = 1;
  87              }
  88              $viewer->assign('PAGE_COUNT', $pageCount);
  89              $viewer->assign('TOTAL_ENTRIES', $totalCount);
  90              $viewer->assign('PERFORMANCE', true);
  91          }
  92  
  93          $viewer->assign('MODULE', $moduleName);
  94          $viewer->assign('PAGING', $pagingModel);
  95          $viewer->assign('ORDER_BY',$orderBy);
  96          $viewer->assign('SORT_ORDER',$sortOrder);
  97          $viewer->assign('NEXT_SORT_ORDER',$nextSortOrder);
  98          $viewer->assign('SORT_IMAGE',$sortImage);
  99          $viewer->assign('COLUMN_NAME',$orderBy);
 100          $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel());
 101          
 102          return $viewer->view('RelatedList.tpl', $moduleName, 'true');
 103      }
 104  }


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