Example #1
0
 /**
  * Function that generates Export Query based on the mode
  * @param Vtiger_Request $request
  * @return <String> export query
  */
 function getExportQuery(Vtiger_Request $request)
 {
     $currentUser = Users_Record_Model::getCurrentUserModel();
     $mode = $request->getMode();
     $cvId = $request->get('viewname');
     $moduleName = $request->get('source_module');
     $queryGenerator = new QueryGenerator($moduleName, $currentUser);
     $queryGenerator->initForCustomViewById($cvId);
     $fieldInstances = $this->moduleFieldInstances;
     $accessiblePresenceValue = array(0, 2);
     foreach ($fieldInstances as $field) {
         // Check added as querygenerator is not checking this for admin users
         $presence = $field->get('presence');
         if (in_array($presence, $accessiblePresenceValue)) {
             $fields[] = $field->getName();
         }
     }
     $queryGenerator->setFields($fields);
     $query = $queryGenerator->getQuery();
     if (in_array($moduleName, getInventoryModules())) {
         $query = $this->moduleInstance->getExportQuery($this->focus, $query);
     }
     $this->accessibleFields = $queryGenerator->getFields();
     switch ($mode) {
         case 'ExportAllData':
             return $query;
             break;
         case 'ExportCurrentPage':
             $pagingModel = new Vtiger_Paging_Model();
             $limit = $pagingModel->getPageLimit();
             $currentPage = $request->get('page');
             if (empty($currentPage)) {
                 $currentPage = 1;
             }
             $currentPageStart = ($currentPage - 1) * $limit;
             if ($currentPageStart < 0) {
                 $currentPageStart = 0;
             }
             $query .= ' LIMIT ' . $currentPageStart . ',' . $limit;
             return $query;
             break;
         case 'ExportSelectedRecords':
             $idList = $this->getRecordsListFromRequest($request);
             $baseTable = $this->moduleInstance->get('basetable');
             $baseTableColumnId = $this->moduleInstance->get('basetableid');
             if (!empty($idList)) {
                 if (!empty($baseTable) && !empty($baseTableColumnId)) {
                     $idList = implode(',', $idList);
                     $query .= ' AND ' . $baseTable . '.' . $baseTableColumnId . ' IN (' . $idList . ')';
                 }
             } else {
                 $query .= ' AND ' . $baseTable . '.' . $baseTableColumnId . ' NOT IN (' . implode(',', $request->get('excluded_ids')) . ')';
             }
             return $query;
             break;
         default:
             return $query;
             break;
     }
 }
 function process(Vtiger_Request $request)
 {
     $mode = $request->getMode();
     if (!empty($mode) && method_exists($this, $mode)) {
         $this->{$mode}($request);
     }
 }
Example #3
0
 public function postprocess(Vtiger_Request $request)
 {
     $mode = $request->getMode();
     if (!empty($mode)) {
         parent::postProcess($request);
     }
 }
Example #4
0
    function process(Vtiger_Request $request) {
		$mode = $request->getMode();
		if(!empty($mode)) {
			echo $this->invokeExposedMethod($mode, $request);
			return;
		}
	}
Example #5
0
	public function process(Vtiger_Request $request) {
		$mode = $request->getMode();
		if (!empty($mode)) {
			echo $this->invokeExposedMethod($mode, $request);
			return;
		}

		$taxId = $request->get('taxid');
		$type = $request->get('type');
		if (empty($taxId)) {
			$taxRecordModel = new Settings_Vtiger_TaxRecord_Model();
		} else {
			$taxRecordModel = Settings_Vtiger_TaxRecord_Model::getInstanceById($taxId, $type);
		}
		
		$fields = array('taxlabel','percentage','deleted');
		foreach($fields as $fieldName) {
			if($request->has($fieldName)) {
				$taxRecordModel->set($fieldName,$request->get($fieldName));
			}
		}
		
		$taxRecordModel->setType($type);

		$response = new Vtiger_Response();
		try {
			$taxId = $taxRecordModel->save();
			$recordModel = Settings_Vtiger_TaxRecord_Model::getInstanceById($taxId, $type);
			$response->setResult(array_merge(array('_editurl' => $recordModel->getEditTaxUrl(), 'type' => $recordModel->getType()),$recordModel->getData()));
		} catch (Exception $e) {
			$response->setError($e->getCode(), $e->getMessage());
		}
		$response->emit();
	}
Example #6
0
 public function process(Vtiger_Request $request)
 {
     $mode = $request->getMode();
     $viewer = $this->getViewer($request);
     $moduleName = $request->getModule();
     $record = $request->get('record');
     $reportModel = Reports_Record_Model::getInstanceById($record);
     $reportModel->setModule('Reports');
     $reportModel->set('advancedFilter', $request->get('advanced_filter'));
     $secondaryModules = $reportModel->getSecondaryModules();
     if (empty($secondaryModules)) {
         $viewer->assign('CLICK_THROUGH', true);
     }
     $dataFields = $request->get('datafields', 'count(*)');
     if (is_string($dataFields)) {
         $dataFields = array($dataFields);
     }
     $reportModel->set('reporttypedata', Zend_Json::encode(array('type' => $request->get('charttype', 'pieChart'), 'groupbyfield' => $request->get('groupbyfield'), 'datafields' => $dataFields)));
     $reportModel->set('reporttype', 'chart');
     $reportModel->save();
     $reportChartModel = Reports_Chart_Model::getInstanceById($reportModel);
     $data = $reportChartModel->getData();
     $viewer->assign('CHART_TYPE', $reportChartModel->getChartType());
     $viewer->assign('DATA', json_encode($data, JSON_HEX_APOS));
     $viewer->assign('MODULE', $moduleName);
     $viewer->view('ChartReportContents.tpl', $moduleName);
 }
Example #7
0
 public function process(Vtiger_Request $request)
 {
     $mode = $request->getMode();
     $currentUser = Users_Record_Model::getCurrentUserModel();
     if (!empty($mode)) {
         echo $this->invokeExposedMethod($mode, $request);
         return;
     }
     $id = $request->get('id');
     $type = $request->get('view');
     if (empty($id)) {
         $recordModel = new Settings_Inventory_Record_Model();
     } else {
         $recordModel = Settings_Inventory_Record_Model::getInstanceById($id, $type);
     }
     $fields = $request->getAll();
     foreach ($fields as $fieldName => $fieldValue) {
         if ($request->has($fieldName) && !in_array($fieldName, ['module', 'parent', 'view', '__vtrftk', 'action'])) {
             $recordModel->set($fieldName, $fieldValue);
         }
     }
     $recordModel->setType($type);
     $response = new Vtiger_Response();
     try {
         $id = $recordModel->save();
         $recordModel = Settings_Inventory_Record_Model::getInstanceById($id, $type);
         $response->setResult(array_merge(['_editurl' => $recordModel->getEditUrl(), 'row_type' => $currentUser->get('rowheight')], $recordModel->getData()));
     } catch (Exception $e) {
         $response->setError($e->getCode(), $e->getMessage());
     }
     $response->emit();
 }
Example #8
0
	public function process(Vtiger_Request $request) {
		$mode = $request->getMode();
		if(!empty($mode) && $this->isMethodExposed($mode)) {
			return $this->$mode($request);
		}
		$this->Step1($request);
	}
Example #9
0
 function process(Vtiger_Request $request)
 {
     $mode = $request->getMode();
     if ($mode) {
         $this->invokeExposedMethod($mode, $request);
     }
 }
Example #10
0
 public function process(Vtiger_Request $request)
 {
     $mode = $request->getMode();
     $viewer = $this->getViewer($request);
     $moduleName = $request->getModule();
     $record = $request->get('record');
     $reportModel = Reports_Record_Model::getInstanceById($record);
     $reportModel->setModule('Reports');
     $reportModel->set('advancedFilter', $request->get('advanced_filter'));
     $page = $request->get('page');
     $pagingModel = new Vtiger_Paging_Model();
     $pagingModel->set('page', $page);
     $pagingModel->set('limit', Reports_Detail_View::REPORT_LIMIT);
     if ($mode === 'save') {
         $reportModel->saveAdvancedFilters();
         $reportData = $reportModel->getReportData($pagingModel);
         $data = $reportData['data'];
     } else {
         if ($mode === 'generate') {
             $reportData = $reportModel->generateData($pagingModel);
             $data = $reportData['data'];
         }
     }
     $calculation = $reportModel->generateCalculationData();
     $viewer->assign('PRIMARY_MODULE', $reportModel->getPrimaryModule());
     $viewer->assign('CALCULATION_FIELDS', $calculation);
     $viewer->assign('DATA', $data);
     $viewer->assign('RECORD_ID', $record);
     $viewer->assign('PAGING_MODEL', $pagingModel);
     $viewer->assign('MODULE', $moduleName);
     $viewer->assign('NEW_COUNT', $reportData['count']);
     $viewer->assign('REPORT_RUN_INSTANCE', ReportRun::getInstance($record));
     $viewer->view('ReportContents.tpl', $moduleName);
 }
Example #11
0
 public function process(Vtiger_Request $request)
 {
     $mode = $request->getMode();
     $viewer = $this->getViewer($request);
     $currentUserModel = Users_Record_Model::getCurrentUserModel();
     $viewer->assign('CURRENT_USER', $currentUserModel);
     $viewer->view('CalendarView.tpl', $request->getModule());
 }
Example #12
0
	public function process(Vtiger_Request $request) {
		$mode = $request->getMode();
		if ($mode) {
			$this->$mode($request);
		} else {
			$this->step1($request);
		}
	}
Example #13
0
 function process(Vtiger_Request $request)
 {
     global $log;
     $log->debug("Entering ./views/FindDuplicatesAjax.php::process");
     $mode = $request->getMode();
     if (!empty($mode) && method_exists($this, $mode)) {
         $this->{$mode}($request);
     }
 }
Example #14
0
 function process(Vtiger_Request $request)
 {
     global $log;
     $log->debug("Entering ./actions/NoteBook.php::process");
     $mode = $request->getMode();
     if ($mode) {
         $this->invokeExposedMethod($mode, $request);
     }
 }
Example #15
0
	public function process(Vtiger_Request $request) {
		$currentUserModel = Users_Record_Model::getCurrentUserModel();
		
		$mode = $request->getMode();
		if($mode == 'Helpbox'){
			return $this->getHelpbox($request);
		}

	}
Example #16
0
 public function process(Vtiger_Request $request)
 {
     $mode = $request->getMode();
     if (!empty($mode)) {
         echo $this->invokeExposedMethod($mode, $request);
         exit;
     }
     $this->step1($request);
 }
Example #17
0
 public function process(Vtiger_Request $request)
 {
     // Override error reporting to production mode
     version_compare(PHP_VERSION, '5.5.0') <= 0 ? error_reporting(E_WARNING & ~E_NOTICE & ~E_DEPRECATED) : error_reporting(E_WARNING & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT);
     $mode = $request->getMode();
     if (!empty($mode)) {
         $this->invokeExposedMethod($mode, $request);
     }
 }
Example #18
0
	public function process(Vtiger_Request $request) {
		$mode = $request->getMode();
		if($this->isMethodExposed($mode)) {
			$this->invokeExposedMethod($mode, $request);
		}else {
			//by default show field layout
			$this->showFieldLayout($request);
		}
	}
Example #19
0
 public function process(Vtiger_Request $request)
 {
     global $log;
     $log->debug("Entering ./actions/TagCloud.php::process");
     $mode = $request->getMode();
     if (!empty($mode)) {
         echo $this->invokeExposedMethod($mode, $request);
         return;
     }
 }
Example #20
0
 public function process(Vtiger_Request $request)
 {
     global $default_charset;
     $default_charset = 'UTF-8';
     $mode = $request->getMode();
     if (!empty($mode) && $this->isMethodExposed($mode)) {
         return $this->{$mode}($request);
     }
     $this->Step1($request);
 }
Example #21
0
 public function process(Vtiger_Request $request)
 {
     $mode = $request->getMode();
     if ($this->isMethodExposed($mode)) {
         $this->invokeExposedMethod($mode, $request);
     } else {
         //by default
         $this->showWidgetsManagement($request);
     }
 }
Example #22
0
 public function process(Vtiger_Request $request)
 {
     $mode = $request->getMode();
     $viewer = $this->getViewer($request);
     $currentUserModel = Users_Record_Model::getCurrentUserModel();
     $viewer->assign('CURRENT_USER', $currentUserModel);
     $viewer->assign('EVENT_LIMIT', AppConfig::module('Calendar', 'EVENT_LIMIT'));
     $viewer->assign('WEEK_VIEW', AppConfig::module('Calendar', 'SHOW_TIMELINE_WEEK') ? 'agendaWeek' : 'basicWeek');
     $viewer->assign('DAY_VIEW', AppConfig::module('Calendar', 'SHOW_TIMELINE_DAY') ? 'agendaDay' : 'basicDay');
     $viewer->view('CalendarView.tpl', $request->getModule());
 }
Example #23
0
 public function process(Vtiger_Request $request)
 {
     include 'config/calendar.php';
     $mode = $request->getMode();
     $viewer = $this->getViewer($request);
     $currentUserModel = Users_Record_Model::getCurrentUserModel();
     $viewer->assign('CURRENT_USER', $currentUserModel);
     $viewer->assign('EVENT_LIMIT', $CALENDAR_CONFIG['EVENT_LIMIT']);
     $viewer->assign('WEEK_VIEW', $CALENDAR_CONFIG['SHOW_TIMELINE_WEEK'] ? 'agendaWeek' : 'basicWeek');
     $viewer->assign('DAY_VIEW', $CALENDAR_CONFIG['SHOW_TIMELINE_DAY'] ? 'agendaDay' : 'basicDay');
     $viewer->view('CalendarView.tpl', $request->getModule());
 }
Example #24
0
 public function process(Vtiger_Request $request)
 {
     $mode = $request->getMode();
     if (!empty($mode)) {
         $this->invokeExposedMethod($mode, $request);
         return;
     }
     $qualifiedModuleName = $request->getModule(false);
     $viewer = $this->getViewer($request);
     $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName);
     $viewer->view('Step1.tpl', $qualifiedModuleName);
 }
Example #25
0
 function process(Vtiger_Request $request)
 {
     $mode = $request->getMode();
     if (!empty($mode) && method_exists($this, $mode)) {
         $this->invokeExposedMethod($mode, $request);
         return;
     }
     $qualifiedModule = $request->getModule(true);
     $viewer = $this->getViewer($request);
     $moduleModels = Vtiger_Module_Model::getEntityModules();
     $viewer->assign('MODULES', $moduleModels);
     echo $viewer->view('AddDependency.tpl', $qualifiedModule);
 }
Example #26
0
 function process(Vtiger_Request $request)
 {
     $mode = $request->getMode();
     $recordId = $request->get('record');
     if (!empty($recordId)) {
         $recordModel = Vtiger_Record_Model::getInstanceById($recordId);
         $mode = $recordModel->getType();
     }
     if (!empty($mode)) {
         $this->invokeExposedMethod($mode, $request, $mode);
         return;
     }
     $this->Calendar($request, 'Calendar');
 }
Example #27
0
	public function checkPermission(Vtiger_Request $request) {
            $currentUserModel = Users_Record_Model::getCurrentUserModel();

            $userId = $request->get('userid');
            if (!$currentUserModel->isAdminUser()) {
                $mode = $request->getMode();
                if ($mode == 'savePassword' && (isset($userId) && $currentUserModel->getId() != $userId)) {
                    throw new AppException(vtranslate('LBL_PERMISSION_DENIED', 'Vtiger'));
                }
                 else if ($mode != 'savePassword' && ($currentUserModel->getId() != $request->get('record'))) {
                    throw new AppException(vtranslate('LBL_PERMISSION_DENIED', 'Vtiger'));
                }
            }
    }
Example #28
0
 public function process(Vtiger_Request $request)
 {
     $mode = $request->getMode();
     $viewer = $this->getViewer($request);
     $moduleName = $request->getModule();
     $record = $request->get('record');
     $reportModel = Reports_Record_Model::getInstanceById($record);
     $reportModel->setModule('Reports');
     $reportModel->set('advancedFilter', $request->get('advanced_filter'));
     $page = $request->get('page');
     $pagingModel = new Vtiger_Paging_Model();
     $pagingModel->set('page', $page);
     $pagingModel->set('limit', Reports_Detail_View::REPORT_LIMIT);
     if ($mode === 'save') {
         $reportModel->saveAdvancedFilters();
         $reportData = $reportModel->getReportData($pagingModel);
         $data = $reportData['data'];
     } else {
         if ($mode === 'generate') {
             $reportData = $reportModel->generateData($pagingModel);
             $data = $reportData['data'];
         }
     }
     $calculation = $reportModel->generateCalculationData();
     /*убираем ненужные столбцы*/
     $columns = array('SUM' => false, 'AVG' => false, 'MIN' => false, 'MAX' => false);
     foreach ($calculation as $metriks) {
         foreach ($metriks as $index => $metrik) {
             $postfix = substr($index, -3, 3);
             if ($columns[$postfix]) {
                 continue;
             }
             if (!empty($metrik)) {
                 $columns[$postfix] = true;
             }
         }
     }
     $viewer->assign('COLUMNS', $columns);
     /*end*/
     $viewer->assign('PRIMARY_MODULE', $reportModel->getPrimaryModule());
     $viewer->assign('CALCULATION_FIELDS', $calculation);
     $viewer->assign('DATA', $data);
     $viewer->assign('RECORD_ID', $record);
     $viewer->assign('PAGING_MODEL', $pagingModel);
     $viewer->assign('MODULE', $moduleName);
     $viewer->assign('NEW_COUNT', $reportData['count']);
     $viewer->assign('REPORT_RUN_INSTANCE', ReportRun::getInstance($record));
     $viewer->view('ReportContents.tpl', $moduleName);
 }
Example #29
0
 public function process(Vtiger_Request $request)
 {
     if (vglobal('systemMode') == 'demo') {
         die(Vtiger_Functions::throwNewException('Demo mode is enabled, the installation of modules is disabled'));
     }
     $mode = $request->getMode();
     if (!empty($mode)) {
         $this->invokeExposedMethod($mode, $request);
         return;
     }
     $qualifiedModuleName = $request->getModule(false);
     $viewer = $this->getViewer($request);
     $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName);
     $viewer->view('Step1.tpl', $qualifiedModuleName);
 }
 public function process(Vtiger_Request $request)
 {
     $mode = $request->getMode();
     if (!empty($mode)) {
         $this->invokeExposedMethod($mode, $request);
         return;
     }
     $EXTENSIONS = Settings_ModuleManager_Extension_Model::getAll();
     $qualifiedModuleName = $request->getModule(false);
     $viewer = $this->getViewer($request);
     $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName);
     $viewer->assign('EXTENSIONS', $EXTENSIONS);
     $viewer->assign('EXTENSIONS_AVAILABLE', count($EXTENSIONS) > 0 ? true : false);
     $viewer->view('Step1.tpl', $qualifiedModuleName);
 }