[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/Potentials/dashboards/ -> GroupedBySalesStage.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 Potentials_GroupedBySalesStage_Dashboard extends Vtiger_IndexAjax_View {
  12  
  13      /**

  14       * Retrieves css styles that need to loaded in the page

  15       * @param Vtiger_Request $request - request model

  16       * @return <array> - array of Vtiger_CssScript_Model

  17       */
  18  	function getHeaderCss(Vtiger_Request $request){
  19          $cssFileNames = array(
  20              //Place your widget specific css files here

  21          );
  22          $headerCssScriptInstances = $this->checkAndConvertCssStyles($cssFileNames);
  23          return $headerCssScriptInstances;
  24      }
  25      
  26      function getSearchParams($stage,$assignedto,$dates) {
  27          $listSearchParams = array();
  28          $conditions = array();
  29          array_push($conditions,array("sales_stage","e",$stage));
  30          if($assignedto == ''){
  31              $currenUserModel = Users_Record_Model::getCurrentUserModel();
  32              $assignedto = $currenUserModel->getId();
  33          }
  34          if($assignedto != 'all'){
  35              $ownerType = vtws_getOwnerType($assignedto);
  36              if($ownerType == 'Users')
  37                  array_push($conditions,array("assigned_user_id","e",getUserFullName($assignedto)));
  38              else{
  39                  $groupName = getGroupName($assignedto);
  40                  $groupName = $groupName[0];
  41                  array_push($conditions,array("assigned_user_id","e",$groupName));
  42              }
  43          } 
  44          if(!empty($dates)) {
  45              array_push($conditions,array("closingdate","bw",$dates['start'].','.$dates['end']));
  46          }
  47          $listSearchParams[] = $conditions;
  48          return '&search_params='. json_encode($listSearchParams);
  49      }
  50      
  51  	public function process(Vtiger_Request $request) {
  52          $currentUser = Users_Record_Model::getCurrentUserModel();
  53          $viewer = $this->getViewer($request);
  54          $moduleName = $request->getModule();
  55  
  56          $linkId = $request->get('linkid');
  57          $owner = $request->get('owner');
  58          $dates = $request->get('expectedclosedate');
  59  
  60          //Date conversion from user to database format

  61          if(!empty($dates)) {
  62              $dates['start'] = Vtiger_Date_UIType::getDBInsertedValue($dates['start']);
  63              $dates['end'] = Vtiger_Date_UIType::getDBInsertedValue($dates['end']);
  64          }
  65          
  66          $moduleModel = Vtiger_Module_Model::getInstance($moduleName);
  67          $data = $moduleModel->getPotentialsCountBySalesStage($owner, $dates);
  68          $listViewUrl = $moduleModel->getListViewUrl();
  69          for($i = 0;$i<count($data);$i++){
  70              $data[$i][] = $listViewUrl.$this->getSearchParams($data[$i][0],$owner,$dates);
  71          }
  72          
  73          $widget = Vtiger_Widget_Model::getInstance($linkId, $currentUser->getId());
  74  
  75          $viewer->assign('WIDGET', $widget);
  76          $viewer->assign('MODULE_NAME', $moduleName);
  77          $viewer->assign('DATA', $data);
  78  
  79          //Include special script and css needed for this widget

  80          $viewer->assign('STYLES',$this->getHeaderCss($request));
  81          $viewer->assign('CURRENTUSER', $currentUser);
  82  
  83          $content = $request->get('content');
  84          if(!empty($content)) {
  85              $viewer->view('dashboards/DashBoardWidgetContents.tpl', $moduleName);
  86          } else {
  87              $viewer->view('dashboards/GroupBySalesStage.tpl', $moduleName);
  88          }
  89      }
  90  }


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