[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/Reports/views/ -> ExportReport.php (source)

   1  <?php
   2  /*+**********************************************************************************

   3   * The contents of this file are subject to the vtiger CRM Public License Version 1.1

   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 Reports_ExportReport_View extends Vtiger_View_Controller {
  12  
  13  	function __construct() {
  14          parent::__construct();
  15          $this->exposeMethod('GetPrintReport');
  16          $this->exposeMethod('GetXLS');
  17          $this->exposeMethod('GetCSV');
  18      }
  19  
  20  	function checkPermission(Vtiger_Request $request) {
  21          $moduleName = $request->getModule();
  22          $moduleModel = Reports_Module_Model::getInstance($moduleName);
  23  
  24          $record = $request->get('record');
  25          $reportModel = Reports_Record_Model::getCleanInstance($record);
  26  
  27          $currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
  28          if(!$currentUserPriviligesModel->hasModulePermission($moduleModel->getId())) {
  29              throw new AppException('LBL_PERMISSION_DENIED');
  30          }
  31      }
  32  
  33  	function preProcess(Vtiger_Request $request) {
  34          return false;
  35      }
  36  
  37  	function postProcess(Vtiger_Request $request) {
  38          return false;
  39      }
  40  
  41  	function process(Vtiger_request $request) {
  42          $mode = $request->getMode();
  43          if(!empty($mode)) {
  44              $this->invokeExposedMethod($mode, $request);
  45          }
  46      }
  47  
  48      /**

  49       * Function exports the report in a Excel sheet

  50       * @param Vtiger_Request $request

  51       */
  52  	function GetXLS(Vtiger_Request $request) {
  53          $recordId = $request->get('record');
  54          $reportModel = Reports_Record_Model::getInstanceById($recordId);
  55          $reportModel->set('advancedFilter', $request->get('advanced_filter'));
  56          $reportModel->getReportXLS();
  57      }
  58  
  59      /**

  60       * Function exports report in a CSV file

  61       * @param Vtiger_Request $request

  62       */
  63  	function GetCSV(Vtiger_Request $request) {
  64          $recordId = $request->get('record');
  65          $reportModel = Reports_Record_Model::getInstanceById($recordId);
  66          $reportModel->set('advancedFilter', $request->get('advanced_filter'));
  67          $reportModel->getReportCSV();
  68      }
  69  
  70      /**

  71       * Function displays the report in printable format

  72       * @param Vtiger_Request $request

  73       */
  74  	function GetPrintReport(Vtiger_Request $request) {
  75          $viewer = $this->getViewer($request);
  76          $moduleName = $request->getModule();
  77  
  78          $recordId = $request->get('record');
  79          $reportModel = Reports_Record_Model::getInstanceById($recordId);
  80          $reportModel->set('advancedFilter', $request->get('advanced_filter'));
  81          $printData = $reportModel->getReportPrint();
  82  
  83          $viewer->assign('REPORT_NAME', $reportModel->getName());
  84          $viewer->assign('PRINT_DATA', $printData['data'][0]);
  85          $viewer->assign('TOTAL', $printData['total']);
  86          $viewer->assign('MODULE', $moduleName);
  87          $viewer->assign('ROW', $printData['data'][1]);
  88  
  89          $viewer->view('PrintReport.tpl', $moduleName);
  90      }
  91  }


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