[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/Vtiger/views/ -> DashBoard.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_Dashboard_View extends Vtiger_Index_View {
  12  
  13  	function checkPermission(Vtiger_Request $request) {
  14          $moduleName = $request->getModule();
  15          if(!Users_Privileges_Model::isPermitted($moduleName, $actionName)) {
  16              throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
  17          }
  18      }
  19  
  20  	function preProcess(Vtiger_Request $request, $display=true) {
  21          parent::preProcess($request, false);
  22          $viewer = $this->getViewer($request);
  23          $moduleName = $request->getModule();
  24  
  25          $dashBoardModel = Vtiger_DashBoard_Model::getInstance($moduleName);
  26          //check profile permissions for Dashboards
  27          $moduleModel = Vtiger_Module_Model::getInstance('Dashboard');
  28          $userPrivilegesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
  29          $permission = $userPrivilegesModel->hasModulePermission($moduleModel->getId());
  30          if($permission) {
  31              $widgets = $dashBoardModel->getSelectableDashboard();
  32          } else {
  33              $widgets = array();
  34          }
  35          $viewer->assign('MODULE_PERMISSION', $permission);
  36          $viewer->assign('WIDGETS', $widgets);
  37          $viewer->assign('MODULE_NAME', $moduleName);
  38          if($display) {
  39              $this->preProcessDisplay($request);
  40          }
  41      }
  42  
  43  	function preProcessTplName(Vtiger_Request $request) {
  44          return 'dashboards/DashBoardPreProcess.tpl';
  45      }
  46  
  47  	function process(Vtiger_Request $request) {
  48          $viewer = $this->getViewer($request);
  49          $moduleName = $request->getModule();
  50  
  51          $dashBoardModel = Vtiger_DashBoard_Model::getInstance($moduleName);
  52          
  53          //check profile permissions for Dashboards
  54          $moduleModel = Vtiger_Module_Model::getInstance('Dashboard');
  55          $userPrivilegesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
  56          $permission = $userPrivilegesModel->hasModulePermission($moduleModel->getId());
  57          if($permission) {
  58              $widgets = $dashBoardModel->getDashboards();
  59          } else {
  60              return;
  61          }
  62  
  63          $viewer->assign('MODULE_NAME', $moduleName);
  64          $viewer->assign('WIDGETS', $widgets);
  65          $viewer->assign('CURRENT_USER', Users_Record_Model::getCurrentUserModel());
  66          $viewer->view('dashboards/DashBoardContents.tpl', $moduleName);
  67      }
  68  
  69  	public function postProcess(Vtiger_Request $request) {
  70          parent::postProcess($request);
  71      }
  72  
  73      /**
  74       * Function to get the list of Script models to be included
  75       * @param Vtiger_Request $request
  76       * @return <Array> - List of Vtiger_JsScript_Model instances
  77       */
  78  	public function getHeaderScripts(Vtiger_Request $request) {
  79          $headerScriptInstances = parent::getHeaderScripts($request);
  80          $moduleName = $request->getModule();
  81  
  82          $jsFileNames = array(
  83              '~/libraries/jquery/gridster/jquery.gridster.min.js',
  84              '~/libraries/jquery/jqplot/jquery.jqplot.min.js',
  85              '~/libraries/jquery/jqplot/plugins/jqplot.canvasTextRenderer.min.js',
  86              '~/libraries/jquery/jqplot/plugins/jqplot.canvasAxisTickRenderer.min.js',
  87                          '~/libraries/jquery/jqplot/plugins/jqplot.pieRenderer.min.js',
  88                          '~/libraries/jquery/jqplot/plugins/jqplot.barRenderer.min.js',
  89                          '~/libraries/jquery/jqplot/plugins/jqplot.categoryAxisRenderer.min.js',
  90              '~/libraries/jquery/jqplot/plugins/jqplot.pointLabels.min.js',
  91              '~/libraries/jquery/jqplot/plugins/jqplot.canvasAxisLabelRenderer.min.js',
  92              '~/libraries/jquery/jqplot/plugins/jqplot.funnelRenderer.min.js',
  93                          '~/libraries/jquery/jqplot/plugins/jqplot.barRenderer.min.js',
  94              '~/libraries/jquery/jqplot/plugins/jqplot.logAxisRenderer.min.js',
  95              'modules.Vtiger.resources.DashBoard',
  96              'modules.'.$moduleName.'.resources.DashBoard',
  97              'modules.Vtiger.resources.dashboards.Widget'
  98          );
  99  
 100          $jsScriptInstances = $this->checkAndConvertJsScripts($jsFileNames);
 101          $headerScriptInstances = array_merge($headerScriptInstances, $jsScriptInstances);
 102          return $headerScriptInstances;
 103      }
 104  
 105      /**
 106       * Function to get the list of Css models to be included
 107       * @param Vtiger_Request $request
 108       * @return <Array> - List of Vtiger_CssScript_Model instances
 109       */
 110  	public function getHeaderCss(Vtiger_Request $request) {
 111          $parentHeaderCssScriptInstances = parent::getHeaderCss($request);
 112  
 113          $headerCss = array(
 114              '~/libraries/jquery/gridster/jquery.gridster.min.css',
 115              '~/libraries/jquery/jqplot/jquery.jqplot.min.css',
 116          );
 117          $cssScripts = $this->checkAndConvertCssStyles($headerCss);
 118          $headerCssScriptInstances = array_merge($parentHeaderCssScriptInstances , $cssScripts);
 119          return $headerCssScriptInstances;
 120      }
 121  }


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