public function process(Vtiger_Request $request) { $moduleName = $request->getModule(); $moduleList = array('Calendar', 'Events'); $quickCreateContents = array(); foreach ($moduleList as $module) { $info = array(); $recordModel = Vtiger_Record_Model::getCleanInstance($module); $moduleModel = $recordModel->getModule(); $fieldList = $moduleModel->getFields(); $requestFieldList = array_intersect_key($request->getAll(), $fieldList); foreach ($requestFieldList as $fieldName => $fieldValue) { $fieldModel = $fieldList[$fieldName]; if ($fieldModel->isEditable()) { $recordModel->set($fieldName, $fieldModel->getDBInsertValue($fieldValue)); } } $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($recordModel, Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_QUICKCREATE); $info['recordStructureModel'] = $recordStructureInstance; $info['recordStructure'] = $recordStructureInstance->getStructure(); $info['moduleModel'] = $moduleModel; $quickCreateContents[$module] = $info; } $picklistDependencyDatasource = Vtiger_DependencyPicklist::getPicklistDependencyDatasource($moduleName); $viewer = $this->getViewer($request); $viewer->assign('PICKIST_DEPENDENCY_DATASOURCE', Zend_Json::encode($picklistDependencyDatasource)); $viewer->assign('CURRENTDATE', date('Y-n-j')); $viewer->assign('MODULE', $moduleName); $viewer->assign('QUICK_CREATE_CONTENTS', $quickCreateContents); $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel()); $viewer->assign('SCRIPTS', $this->getHeaderScripts($request)); $viewer->view('QuickCreate.tpl', $moduleName); }
/** * Function to get the values in stuctured format * @return <array> - values in structure array('block'=>array(fieldinfo)); */ public function getStructure($moduleName) { if (!empty($this->structuredValues[$moduleName])) { return $this->structuredValues[$moduleName]; } $moduleModel = Vtiger_Module_Model::getInstance($moduleName); if ($moduleName === 'Emails') { $restrictedTablesList = array('vtiger_emaildetails', 'vtiger_attachments'); $moduleRecordStructure = array(); $blockModelList = $moduleModel->getBlocks(); foreach ($blockModelList as $blockLabel => $blockModel) { $fieldModelList = $blockModel->getFields(); if (!empty($fieldModelList)) { $moduleRecordStructure[$blockLabel] = array(); foreach ($fieldModelList as $fieldName => $fieldModel) { if (!in_array($fieldModel->get('table'), $restrictedTablesList) && $fieldModel->isViewable()) { $moduleRecordStructure[$blockLabel][$fieldName] = $fieldModel; } } } } } else { $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceForModule($moduleModel); $moduleRecordStructure = $recordStructureInstance->getStructure(); } $this->structuredValues[$moduleName] = $moduleRecordStructure; return $moduleRecordStructure; }
public function process(Vtiger_Request $request) { $viewer = $this->getViewer($request); $moduleName = $request->getModule(); $record = $request->get('record'); if (!empty($record) && $request->get('isDuplicate') == true) { $recordModel = Vtiger_Record_Model::getInstanceById($record, $moduleName); $viewer->assign('MODE', ''); } else { if (!empty($record)) { $recordModel = Vtiger_Record_Model::getInstanceById($record, $moduleName); $viewer->assign('RECORD_ID', $record); $viewer->assign('MODE', 'edit'); } else { $recordModel = Vtiger_Record_Model::getCleanInstance($moduleName); $viewer->assign('MODE', ''); $parentId = $request->get('parentId'); $parentModule = $request->get('parentModule'); if ($parentId && $parentModule === 'HelpDesk') { $parentRecordModel = Vtiger_Record_Model::getInstanceById($parentId, $parentModule); $recordModel = Faq_Record_Model::getInstanceFromHelpDesk($parentRecordModel); } } } $moduleModel = $recordModel->getModule(); $fieldList = $moduleModel->getFields(); $requestFieldList = array_intersect_key($request->getAll(), $fieldList); foreach ($requestFieldList as $fieldName => $fieldValue) { $fieldModel = $fieldList[$fieldName]; if ($fieldModel->isEditable()) { $recordModel->set($fieldName, $fieldModel->getDBInsertValue($fieldValue)); } } $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($recordModel, Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_EDIT); $viewMode = $request->get('view_mode'); if (!empty($viewMode)) { $viewer->assign('VIEW_MODE', $viewMode); } $picklistDependencyDatasource = Vtiger_DependencyPicklist::getPicklistDependencyDatasource($moduleName); $viewer->assign('PICKIST_DEPENDENCY_DATASOURCE', Zend_Json::encode($picklistDependencyDatasource)); $mappingRelatedField = $moduleModel->getMappingRelatedField($moduleName); $viewer->assign('MAPPING_RELATED_FIELD', Zend_Json::encode($mappingRelatedField)); $viewer->assign('RECORD_STRUCTURE_MODEL', $recordStructureInstance); $viewer->assign('RECORD_STRUCTURE', $recordStructureInstance->getStructure()); $viewer->assign('MODULE', $moduleName); $viewer->assign('RECORD', $recordModel); $viewer->assign('BLOCK_LIST', $moduleModel->getBlocks()); $viewer->assign('CURRENTDATE', date('Y-n-j')); $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel()); $isRelationOperation = $request->get('relationOperation'); //if it is relation edit $viewer->assign('IS_RELATION_OPERATION', $isRelationOperation); if ($isRelationOperation) { $viewer->assign('SOURCE_MODULE', $request->get('sourceModule')); $viewer->assign('SOURCE_RECORD', $request->get('sourceRecord')); } $viewer->assign('MAX_UPLOAD_LIMIT_MB', Vtiger_Util_Helper::getMaxUploadSize()); $viewer->assign('MAX_UPLOAD_LIMIT', vglobal('upload_maxsize')); $viewer->view('EditView.tpl', $moduleName); }
public function process(Vtiger_Request $request) { $recordId = $request->get('record'); $qualifiedModuleName = $request->getModule(false); $mode = ''; $selectedFieldsList = $allFieldsList = array(); if ($recordId) { $recordModel = Settings_Webforms_Record_Model::getInstanceById($recordId, $qualifiedModuleName); $selectedFieldsList = $recordModel->getSelectedFieldsList(); $allFieldsList = $recordModel->getAllFieldsList(); $sourceModule = $recordModel->get('targetmodule'); $mode = 'edit'; } else { $recordModel = Settings_Webforms_Record_Model::getCleanInstance($qualifiedModuleName); $sourceModule = $request->get('sourceModule'); if (!$sourceModule) { $sourceModule = reset(array_keys(Settings_Webforms_Module_Model::getSupportedModulesList())); } $allFieldsList = $recordModel->getAllFieldsList($sourceModule); } $recordStructure = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($recordModel, Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_EDIT); $viewer = $this->getViewer($request); $viewer->assign('MODE', $mode); $viewer->assign('RECORD_ID', $recordId); $viewer->assign('RECORD_MODEL', $recordModel); $viewer->assign('MODULE', $qualifiedModuleName); $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName); $viewer->assign('SOURCE_MODULE', $sourceModule); $viewer->assign('ALL_FIELD_MODELS_LIST', $allFieldsList); $viewer->assign('SELECTED_FIELD_MODELS_LIST', $selectedFieldsList); $viewer->assign('RECORD_STRUCTURE_MODEL', $recordStructure); $viewer->assign('RECORD_STRUCTURE', $recordStructure->getStructure()); $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel()); $viewer->view('EditView.tpl', $qualifiedModuleName); }
public function showFieldLayout(Vtiger_Request $request) { $sourceModule = $request->get('sourceModule'); $menuModelsList = Vtiger_Module_Model::getQuickCreateModules(); if (empty($sourceModule)) { //To get the first element $firstElement = reset($menuModelsList); $sourceModule = array($firstElement->get('name')); } else { $sourceModule = array($sourceModule); } $quickCreateContents = array(); if (in_array('Calendar', $sourceModule)) { $sourceModule = array('Calendar', 'Events'); } foreach ($sourceModule as $module) { $recordModel = Vtiger_Record_Model::getCleanInstance($module); $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($recordModel, Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_QUICKCREATE); $quickCreateContents[$module] = $recordStructureInstance->getStructure(); } $qualifiedModule = $request->getModule(false); $viewer = $this->getViewer($request); $viewer->assign('SELECTED_MODULE_NAME', $sourceModule[0]); $viewer->assign('SUPPORTED_MODULES', $menuModelsList); $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel()); $viewer->assign('RECORDS_STRUCTURE', $quickCreateContents); $viewer->assign('QUALIFIED_MODULE', $qualifiedModule); $viewer->view('Index.tpl', $qualifiedModule); }
function preProcess(Vtiger_Request $request) { parent::preProcess($request); $viewer = $this->getViewer($request); $moduleName = $request->getModule(); $recordId = $request->get('record'); $page = $request->get('page'); $detailViewModel = Reports_DetailView_Model::getInstance($moduleName, $recordId); $reportModel = $detailViewModel->getRecord(); $reportModel->setModule('Reports'); $pagingModel = new Vtiger_Paging_Model(); $pagingModel->set('page', $page); $pagingModel->set('limit', self::REPORT_LIMIT); $this->reportData = $reportModel->getReportData($pagingModel); $this->calculationFields = $reportModel->getReportCalulationData(); $primaryModule = $reportModel->getPrimaryModule(); $secondaryModules = $reportModel->getSecondaryModules(); $primaryModuleModel = Vtiger_Module_Model::getInstance($primaryModule); $currentUser = Users_Record_Model::getCurrentUserModel(); $userPrivilegesModel = Users_Privileges_Model::getInstanceById($currentUser->getId()); $permission = $userPrivilegesModel->hasModulePermission($primaryModuleModel->getId()); if (!$permission) { $viewer->assign('MODULE', $primaryModule); $viewer->assign('MESSAGE', 'LBL_PERMISSION_DENIED'); $viewer->view('OperationNotPermitted.tpl', $primaryModule); exit; } $detailViewLinks = $detailViewModel->getDetailViewLinks(); // Advanced filter conditions $viewer->assign('SELECTED_ADVANCED_FILTER_FIELDS', $reportModel->transformToNewAdvancedFilter()); $viewer->assign('PRIMARY_MODULE', $primaryModule); $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($reportModel); $primaryModuleRecordStructure = $recordStructureInstance->getPrimaryModuleRecordStructure(); $secondaryModuleRecordStructures = $recordStructureInstance->getSecondaryModuleRecordStructure(); $viewer->assign('PRIMARY_MODULE_RECORD_STRUCTURE', $primaryModuleRecordStructure); $viewer->assign('SECONDARY_MODULE_RECORD_STRUCTURES', $secondaryModuleRecordStructures); $secondaryModuleIsCalendar = strpos($secondaryModules, 'Calendar'); if ($primaryModule == 'Calendar' || $secondaryModuleIsCalendar !== FALSE) { $advanceFilterOpsByFieldType = Calendar_Field_Model::getAdvancedFilterOpsByFieldType(); } else { $advanceFilterOpsByFieldType = Vtiger_Field_Model::getAdvancedFilterOpsByFieldType(); } $viewer->assign('ADVANCED_FILTER_OPTIONS', Vtiger_Field_Model::getAdvancedFilterOptions()); $viewer->assign('ADVANCED_FILTER_OPTIONS_BY_TYPE', $advanceFilterOpsByFieldType); $dateFilters = Vtiger_Field_Model::getDateFilterTypes(); foreach ($dateFilters as $comparatorKey => $comparatorInfo) { $comparatorInfo['startdate'] = DateTimeField::convertToUserFormat($comparatorInfo['startdate']); $comparatorInfo['enddate'] = DateTimeField::convertToUserFormat($comparatorInfo['enddate']); $comparatorInfo['label'] = vtranslate($comparatorInfo['label'], $module); $dateFilters[$comparatorKey] = $comparatorInfo; } $viewer->assign('DATE_FILTERS', $dateFilters); $viewer->assign('LINEITEM_FIELD_IN_CALCULATION', $reportModel->showLineItemFieldsInFilter(false)); $viewer->assign('DETAILVIEW_LINKS', $detailViewLinks); $viewer->assign('REPORT_MODEL', $reportModel); $viewer->assign('RECORD_ID', $recordId); $viewer->assign('COUNT', count($this->reportData)); $viewer->assign('MODULE', $moduleName); $viewer->view('ReportHeader.tpl', $moduleName); }
public function process(Vtiger_Request $request) { global $log; $log->debug("Entering ./views/QuickCreateAjax.php::process"); $moduleName = $request->getModule(); $recordModel = Vtiger_Record_Model::getCleanInstance($moduleName); $moduleModel = $recordModel->getModule(); $fieldList = $moduleModel->getFields(); $requestFieldList = array_intersect_key($request->getAll(), $fieldList); foreach ($requestFieldList as $fieldName => $fieldValue) { $fieldModel = $fieldList[$fieldName]; if ($fieldModel->isEditable()) { $recordModel->set($fieldName, $fieldModel->getDBInsertValue($fieldValue)); } } $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($recordModel, Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_QUICKCREATE); $picklistDependencyDatasource = Vtiger_DependencyPicklist::getPicklistDependencyDatasource($moduleName); $viewer = $this->getViewer($request); $viewer->assign('PICKIST_DEPENDENCY_DATASOURCE', Zend_Json::encode($picklistDependencyDatasource)); $viewer->assign('CURRENTDATE', date('Y-n-j')); $viewer->assign('MODULE', $moduleName); $viewer->assign('SINGLE_MODULE', 'SINGLE_' . $moduleName); $viewer->assign('MODULE_MODEL', $moduleModel); $viewer->assign('RECORD_STRUCTURE_MODEL', $recordStructureInstance); $viewer->assign('RECORD_STRUCTURE', $recordStructureInstance->getStructure()); $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel()); $viewer->assign('SCRIPTS', $this->getHeaderScripts($request)); $viewer->assign('MAX_UPLOAD_LIMIT_MB', Vtiger_Util_Helper::getMaxUploadSize()); $viewer->assign('MAX_UPLOAD_LIMIT', vglobal('upload_maxsize')); echo $viewer->view('QuickCreate.tpl', $moduleName, true); }
public function process(Vtiger_Request $request) { $adb = PearDatabase::getInstance(); // get min, max, allow_chars from vtiger_passwords_config $result = $adb->query("SELECT * FROM vtiger_passwords_config WHERE 1 LIMIT 1", true); $min = $adb->query_result($result, 0, 'pass_length_min'); $max = $adb->query_result($result, 0, 'pass_length_max'); $allow_chars = $adb->query_result($result, 0, 'pass_allow_chars'); $moduleName = $request->getModule(); $recordModel = Vtiger_Record_Model::getCleanInstance($moduleName); $moduleModel = $recordModel->getModule(); $fieldList = $moduleModel->getFields(); $requestFieldList = array_intersect_key($request->getAll(), $fieldList); foreach ($requestFieldList as $fieldName => $fieldValue) { $fieldModel = $fieldList[$fieldName]; if ($fieldModel->isEditable()) { $recordModel->set($fieldName, $fieldModel->getDBInsertValue($fieldValue)); } } $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($recordModel, Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_QUICKCREATE); $recordStructure = $recordStructureInstance->getStructure(); $sourceRelatedField = $moduleModel->getValuesFromSource($moduleName, $request->get('sourceModule'), $request->get('sourceRecord')); foreach ($sourceRelatedField as $field => $value) { if (isset($recordStructure[$field])) { $fieldvalue = $recordStructure[$field]->get('fieldvalue'); if (empty($fieldvalue)) { $recordStructure[$field]->set('fieldvalue', $value); unset($sourceRelatedField[$field]); } } } $picklistDependencyDatasource = Vtiger_DependencyPicklist::getPicklistDependencyDatasource($moduleName); $relatedModule = 'OSSPasswords'; $viewer = $this->getViewer($request); $viewer->assign('RELATEDMODULE', $relatedModule); $viewer->assign('GENERATEPASS', 'Generate Password'); $viewer->assign('VIEW', $request->get('view')); $viewer->assign('GENERATEONCLICK', 'generate_password(' . $min . ',' . $max . ',\'' . $allow_chars . '\'); return false;'); $viewer->assign('VALIDATE_STRINGS', vtranslate('Very Weak', $relatedModule) . ',' . vtranslate('Weak', $relatedModule) . ',' . vtranslate('Better', $relatedModule) . ',' . vtranslate('Medium', $relatedModule) . ',' . vtranslate('Strong', $relatedModule) . ',' . vtranslate('Very Strong', $relatedModule)); $viewer->assign('Very Weak', 'Very Weak'); $viewer->assign('Weak', 'Weak'); $viewer->assign('Better', 'Better'); $viewer->assign('Medium', 'Medium'); $viewer->assign('Strong', 'Strong'); $viewer->assign('Very Strong', 'Very Strong'); $viewer->assign('PICKIST_DEPENDENCY_DATASOURCE', Zend_Json::encode($picklistDependencyDatasource)); $mappingRelatedField = $moduleModel->getMappingRelatedField($moduleName); $viewer->assign('MAPPING_RELATED_FIELD', Zend_Json::encode($mappingRelatedField)); $viewer->assign('CURRENTDATE', date('Y-n-j')); $viewer->assign('MODULE', $moduleName); $viewer->assign('SINGLE_MODULE', 'SINGLE_' . $moduleName); $viewer->assign('MODULE_MODEL', $moduleModel); $viewer->assign('RECORD_STRUCTURE_MODEL', $recordStructureInstance); $viewer->assign('RECORD_STRUCTURE', $recordStructure); $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel()); $viewer->assign('SCRIPTS', $this->getFooterScripts($request)); echo $viewer->view('QuickCreate.tpl', $moduleName, true); }
function preProcess(Vtiger_Request $request) { $viewer = $this->getViewer($request); $moduleName = $request->getModule(); $recordId = $request->get('record'); $this->record = $detailViewModel = Reports_DetailView_Model::getInstance($moduleName, $recordId); parent::preProcess($request); $reportModel = $detailViewModel->getRecord(); $reportModel->setModule('Reports'); $primaryModule = $reportModel->getPrimaryModule(); $secondaryModules = $reportModel->getSecondaryModules(); $primaryModuleModel = Vtiger_Module_Model::getInstance($primaryModule); $currentUser = Users_Record_Model::getCurrentUserModel(); $userPrivilegesModel = Users_Privileges_Model::getInstanceById($currentUser->getId()); $permission = $userPrivilegesModel->hasModulePermission($primaryModuleModel->getId()); if (!$permission) { $viewer->assign('MODULE', $primaryModule); $viewer->assign('MESSAGE', 'LBL_PERMISSION_DENIED'); $viewer->view('OperationNotPermitted.tpl', $primaryModule); exit; } $isAdmin = $currentUser->isAdminUser(); $viewer->assign('isAdmin', $isAdmin); // Advanced filter conditions $viewer->assign('SELECTED_ADVANCED_FILTER_FIELDS', $reportModel->transformToNewAdvancedFilter()); $viewer->assign('PRIMARY_MODULE', $primaryModule); $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($reportModel); $primaryModuleRecordStructure = $recordStructureInstance->getPrimaryModuleRecordStructure(); $secondaryModuleRecordStructures = $recordStructureInstance->getSecondaryModuleRecordStructure(); $viewer->assign('PRIMARY_MODULE_RECORD_STRUCTURE', $primaryModuleRecordStructure); $viewer->assign('SECONDARY_MODULE_RECORD_STRUCTURES', $secondaryModuleRecordStructures); $secondaryModuleIsCalendar = strpos($secondaryModules, 'Calendar'); if ($primaryModule == 'Calendar' || $secondaryModuleIsCalendar !== FALSE) { $advanceFilterOpsByFieldType = Calendar_Field_Model::getAdvancedFilterOpsByFieldType(); } else { $advanceFilterOpsByFieldType = Vtiger_Field_Model::getAdvancedFilterOpsByFieldType(); } $viewer->assign('ADVANCED_FILTER_OPTIONS', Vtiger_Field_Model::getAdvancedFilterOptions()); $viewer->assign('ADVANCED_FILTER_OPTIONS_BY_TYPE', $advanceFilterOpsByFieldType); $dateFilters = Vtiger_Field_Model::getDateFilterTypes(); foreach ($dateFilters as $comparatorKey => $comparatorInfo) { $comparatorInfo['startdate'] = DateTimeField::convertToUserFormat($comparatorInfo['startdate']); $comparatorInfo['enddate'] = DateTimeField::convertToUserFormat($comparatorInfo['enddate']); $comparatorInfo['label'] = vtranslate($comparatorInfo['label'], $moduleName); $dateFilters[$comparatorKey] = $comparatorInfo; } $reportChartModel = Reports_Chart_Model::getInstanceById($reportModel); $viewer->assign('PRIMARY_MODULE_FIELDS', $reportModel->getPrimaryModuleFieldsForAdvancedReporting()); $viewer->assign('SECONDARY_MODULE_FIELDS', $reportModel->getSecondaryModuleFieldsForAdvancedReporting()); $viewer->assign('CALCULATION_FIELDS', $reportModel->getModuleCalculationFieldsForReport()); $viewer->assign('DATE_FILTERS', $dateFilters); $viewer->assign('REPORT_MODEL', $reportModel); $viewer->assign('RECORD', $recordId); $viewer->assign('MODULE', $moduleName); $viewer->assign('CHART_MODEL', $reportChartModel); $viewer->view('ChartReportHeader.tpl', $moduleName); }
public function initializeListViewContents(Vtiger_Request $request, Vtiger_Viewer $viewer) { $moduleName = $request->get('for_module'); $cvId = $request->get('viewname'); $pageNumber = $request->get('page'); $orderBy = $request->get('orderby'); $sortOrder = $request->get('sortorder'); if (empty($orderBy) && empty($sortOrder)) { $moduleInstance = CRMEntity::getInstance($moduleName); $orderBy = $moduleInstance->default_order_by; $sortOrder = $moduleInstance->default_sort_order; } if ($sortOrder == "ASC") { $nextSortOrder = "DESC"; $sortImage = "downArrowSmall.png"; } else { $nextSortOrder = "ASC"; $sortImage = "upArrowSmall.png"; } if (empty($pageNumber)) { $pageNumber = '1'; } $moduleModel = Vtiger_Module_Model::getInstance($moduleName); $listViewModel = Import_ListView_Model::getInstance($moduleName, $cvId); $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceForModule($moduleModel); $pagingModel = new Vtiger_Paging_Model(); $pagingModel->set('page', $pageNumber); if (!empty($orderBy)) { $listViewModel->set('orderby', $orderBy); $listViewModel->set('sortorder', $sortOrder); } if (!$this->listViewHeaders) { $this->listViewHeaders = $listViewModel->getListViewHeaders(); } if (!$this->listViewEntries) { $this->listViewEntries = $listViewModel->getListViewEntries($pagingModel); } $noOfEntries = count($this->listViewEntries); $viewer->assign('MODULE', $moduleName); $viewer->assign('PAGING_MODEL', $pagingModel); $viewer->assign('PAGE_NUMBER', $pageNumber); $viewer->assign('RECORD_STRUCTURE_MODEL', $recordStructureInstance); $viewer->assign('RECORD_STRUCTURE', $recordStructureInstance->getStructure()); $viewer->assign('ORDER_BY', $orderBy); $viewer->assign('SORT_ORDER', $sortOrder); $viewer->assign('NEXT_SORT_ORDER', $nextSortOrder); $viewer->assign('SORT_IMAGE', $sortImage); $viewer->assign('COLUMN_NAME', $orderBy); $viewer->assign('LISTVIEW_ENTRIES_COUNT', $noOfEntries); $viewer->assign('LISTVIEW_HEADERS', $this->listViewHeaders); $viewer->assign('LISTVIEW_ENTRIES', $this->listViewEntries); $viewer->assign('CURRENT_USER_MODEL', Users_Record_Model::getCurrentUserModel()); }
public function showModuleSummaryView($request) { $recordId = $request->get('record'); $moduleName = $request->getModule(); $recordModel = Vtiger_Record_Model::getInstanceById($recordId); $recordStrucure = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($recordModel, Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_SUMMARY); $viewer = $this->getViewer($request); $viewer->assign('RECORD', $recordModel); $viewer->assign('IS_AJAX_ENABLED', $this->isAjaxEnabled($recordModel)); $viewer->assign('SUMMARY_INFORMATION', $recordModel->getSummaryInfo()); $viewer->assign('SUMMARY_RECORD_STRUCTURE', $recordStrucure->getStructure()); $viewer->assign('MODULE_NAME', $moduleName); return $viewer->view('ModuleSummaryView.tpl', $moduleName, true); }
public function process(Vtiger_Request $request) { $moduleName = $request->getModule(); $moduleList = ['Calendar', 'Events']; $quickCreateContents = []; foreach ($moduleList as $module) { $info = []; $recordModel = Vtiger_Record_Model::getCleanInstance($module); $moduleModel = $recordModel->getModule(); $fieldList = $moduleModel->getFields(); $requestFieldList = array_intersect_key($request->getAll(), $fieldList); foreach ($requestFieldList as $fieldName => $fieldValue) { $fieldModel = $fieldList[$fieldName]; if ($fieldModel->isEditable()) { $recordModel->set($fieldName, $fieldModel->getDBInsertValue($fieldValue)); } } $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($recordModel, Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_QUICKCREATE); $recordStructure = $recordStructureInstance->getStructure(); $sourceRelatedField = $moduleModel->getValuesFromSource($moduleName, $request->get('sourceModule'), $request->get('sourceRecord')); foreach ($sourceRelatedField as $field => $value) { if (isset($recordStructure[$field])) { $fieldvalue = $recordStructure[$field]->get('fieldvalue'); if (empty($fieldvalue)) { $recordStructure[$field]->set('fieldvalue', $value); unset($sourceRelatedField[$field]); } } } $info['recordStructureModel'] = $recordStructureInstance; $info['recordStructure'] = $recordStructure; $info['moduleModel'] = $moduleModel; $quickCreateContents[$module] = $info; } $picklistDependencyDatasource = Vtiger_DependencyPicklist::getPicklistDependencyDatasource($moduleName); $viewer = $this->getViewer($request); $viewer->assign('PICKIST_DEPENDENCY_DATASOURCE', Zend_Json::encode($picklistDependencyDatasource)); $mappingRelatedField = $moduleModel->getMappingRelatedField($moduleName); $viewer->assign('MAPPING_RELATED_FIELD', Zend_Json::encode($mappingRelatedField)); $viewer->assign('SOURCE_RELATED_FIELD', $sourceRelatedField); $viewer->assign('PREVIOUSDATE', date('Y-n-j', strtotime('yesterday'))); $viewer->assign('CURRENTDATE', date('Y-n-j')); $viewer->assign('NEXTDATE', date('Y-n-j', strtotime('tomorrow'))); $viewer->assign('MODULE', $moduleName); $viewer->assign('QUICK_CREATE_CONTENTS', $quickCreateContents); $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel()); $viewer->assign('SCRIPTS', $this->getFooterScripts($request)); $viewer->view('QuickCreate.tpl', $moduleName); }
public function process(Vtiger_Request $request) { $recordId = $request->get('record'); $qualifiedModuleName = $request->getModule(false); $mode = ''; $selectedFieldsList = $allFieldsList = array(); $viewer = $this->getViewer($request); $supportedModules = Settings_Webforms_Module_Model::getSupportedModulesList(); if ($recordId) { $recordModel = Settings_Webforms_Record_Model::getInstanceById($recordId, $qualifiedModuleName); $selectedFieldsList = $recordModel->getSelectedFieldsList(); $sourceModule = $recordModel->get('targetmodule'); $mode = 'edit'; } else { $recordModel = Settings_Webforms_Record_Model::getCleanInstance($qualifiedModuleName); $sourceModule = $request->get('sourceModule'); if (!$sourceModule) { $sourceModule = reset(array_keys($supportedModules)); } $recordModel->set('targetmodule', $sourceModule); } if (!$supportedModules[$sourceModule]) { $message = vtranslate('LBL_ENABLE_TARGET_MODULES_FOR_WEBFORM', $qualifiedModuleName); $viewer->assign('MESSAGE', $message); $viewer->view('OperationNotPermitted.tpl', 'Vtiger'); return false; } $moduleModel = $recordModel->getModule(); $allFieldsList = $recordModel->getAllFieldsList($sourceModule); $recordStructure = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($recordModel, Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_EDIT); $viewer->assign('MODE', $mode); $viewer->assign('RECORD_ID', $recordId); $viewer->assign('RECORD_MODEL', $recordModel); $viewer->assign('MODULE', $qualifiedModuleName); $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName); $viewer->assign('BLOCK_LIST', $moduleModel->getBlocks()); $viewer->assign('SOURCE_MODULE', $sourceModule); $viewer->assign('ALL_FIELD_MODELS_LIST', $allFieldsList); $viewer->assign('SELECTED_FIELD_MODELS_LIST', $selectedFieldsList); $viewer->assign('RECORD_STRUCTURE_MODEL', $recordStructure); $viewer->assign('RECORD_STRUCTURE', $recordStructure->getStructure()); $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel()); $viewer->view('EditView.tpl', $qualifiedModuleName); }
/** * Function to display the UI for advance search on any of the module * @param Vtiger_Request $request */ function showAdvancedSearch(Vtiger_Request $request) { //Modules for which search is excluded $excludedModuleForSearch = array('Vtiger', 'Reports'); $viewer = $this->getViewer($request); $moduleName = $request->getModule(); if ($request->get('source_module')) { $moduleName = $request->get('source_module'); } $saveFilterPermitted = true; $saveFilterexcludedModules = array('ModComments', 'RSS', 'Portal', 'Integration', 'PBXManager', 'DashBoard'); if (in_array($moduleName, $saveFilterexcludedModules)) { $saveFilterPermitted = false; } //See if it is an excluded module, If so search in home module if (in_array($moduleName, $excludedModuleForSearch)) { $moduleName = 'Home'; } $module = $request->getModule(); $customViewModel = new CustomView_Record_Model(); $customViewModel->setModule($moduleName); $moduleModel = Vtiger_Module_Model::getInstance($moduleName); $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceForModule($moduleModel); $viewer->assign('SEARCHABLE_MODULES', Vtiger_Module_Model::getSearchableModules()); $viewer->assign('CUSTOMVIEW_MODEL', $customViewModel); if ($moduleName == 'Calendar') { $advanceFilterOpsByFieldType = Calendar_Field_Model::getAdvancedFilterOpsByFieldType(); } else { $advanceFilterOpsByFieldType = Vtiger_Field_Model::getAdvancedFilterOpsByFieldType(); } $viewer->assign('ADVANCED_FILTER_OPTIONS', Vtiger_Field_Model::getAdvancedFilterOptions()); $viewer->assign('ADVANCED_FILTER_OPTIONS_BY_TYPE', $advanceFilterOpsByFieldType); $dateFilters = Vtiger_Field_Model::getDateFilterTypes(); foreach ($dateFilters as $comparatorKey => $comparatorInfo) { $comparatorInfo['startdate'] = DateTimeField::convertToUserFormat($comparatorInfo['startdate']); $comparatorInfo['enddate'] = DateTimeField::convertToUserFormat($comparatorInfo['enddate']); $comparatorInfo['label'] = vtranslate($comparatorInfo['label'], $module); $dateFilters[$comparatorKey] = $comparatorInfo; } $viewer->assign('DATE_FILTERS', $dateFilters); $viewer->assign('RECORD_STRUCTURE', $recordStructureInstance->getStructure()); $viewer->assign('SOURCE_MODULE', $moduleName); $viewer->assign('SOURCE_MODULE_MODEL', $moduleModel); $viewer->assign('MODULE', $module); $viewer->assign('SAVE_FILTER_PERMITTED', $saveFilterPermitted); $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel()); echo $viewer->view('AdvanceSearch.tpl', $moduleName, true); }
function process(Vtiger_Request $request) { $moduleName = $request->getModule(); $id = $request->get('record'); $recordModel = Vtiger_DetailView_Model::getInstance($moduleName, $id)->getRecord(); $recordStrucure = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($recordModel, Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_DETAIL); $structuredValues = $recordStrucure->getStructure(); $viewer = $this->getViewer($request); $viewer->assign('MODULE_NAME', $moduleName); $viewer->assign('RECORD', $recordModel); $viewer->assign('RECORD_STRUCTURE', $structuredValues); $viewer->assign('RESTRICTS_ITEM', ['PLL_DISCARDED', 'PLL_ACCEPTED']); $this->preProcess($request); $viewer->view('Modal.tpl', $moduleName); $this->postProcess($request); }
public function step($step, Vtiger_Request $request) { $viewer = $this->getViewer($request); $moduleName = $request->getModule(); $qualifiedModuleName = $request->getModule(false); $recordId = $request->get('record'); if ($recordId) { $moduleInstance = Settings_MappedFields_Module_Model::getInstanceById($recordId); $viewer->assign('RECORDID', $recordId); $viewer->assign('MODE', 'edit'); } else { $moduleInstance = Settings_MappedFields_Module_Model::getCleanInstance(); } $viewer->assign('MAPPEDFIELDS_MODULE_MODEL', $moduleInstance); $allModules = Settings_MappedFields_Module_Model::getSupportedModules(); $viewer->assign('ALL_MODULES', $allModules); $viewer->assign('MODULE', $moduleName); $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName); switch ($step) { case 'step4': $viewer->view('Step4.tpl', $qualifiedModuleName); break; case 'step3': $moduleSourceName = Vtiger_Functions::getModuleName($moduleInstance->get('tabid')); $moduleModel = Vtiger_Module_Model::getInstance($moduleSourceName); $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceForModule($moduleModel); $viewer->assign('RECORD_STRUCTURE', $recordStructureInstance->getStructure()); $viewer->assign('SOURCE_MODULE', $moduleSourceName); $viewer->assign('ADVANCE_CRITERIA', Vtiger_AdvancedFilter_Helper::transformToAdvancedFilterCondition($moduleInstance->get('conditions'))); $viewer->view('Step3.tpl', $qualifiedModuleName); break; case 'step2': $currentUser = Users_Record_Model::getCurrentUserModel(); $assignedToValues = []; $assignedToValues['LBL_USERS'] = $currentUser->getAccessibleUsers(); $assignedToValues['LBL_GROUPS'] = $currentUser->getAccessibleGroups(); $viewer->assign('SEL_MODULE_MODEL', Settings_MappedFields_Module_Model::getInstance($moduleInstance->get('tabid'))); $viewer->assign('REL_MODULE_MODEL', Settings_MappedFields_Module_Model::getInstance($moduleInstance->get('reltabid'))); $viewer->assign('USERS_LIST', $assignedToValues); $viewer->view('Step2.tpl', $qualifiedModuleName); break; case 'step1': default: $viewer->view('Step1.tpl', $qualifiedModuleName); break; } }
public function process(Vtiger_Request $request) { $viewer = $this->getViewer($request); $moduleName = $request->get('source_module'); $module = $request->getModule(); $record = $request->get('record'); $moduleModel = Vtiger_Module_Model::getInstance($moduleName); $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceForModule($moduleModel); if (!empty($record)) { $customViewModel = CustomView_Record_Model::getInstanceById($record); $viewer->assign('MODE', 'edit'); } else { $customViewModel = new CustomView_Record_Model(); $customViewModel->setModule($moduleName); $viewer->assign('MODE', ''); } $viewer->assign('ADVANCE_CRITERIA', $customViewModel->transformToNewAdvancedFilter()); $viewer->assign('CURRENTDATE', date('Y-n-j')); $viewer->assign('DATE_FILTERS', Vtiger_Field_Model::getDateFilterTypes()); if ($moduleName == 'Calendar') { $advanceFilterOpsByFieldType = Calendar_Field_Model::getAdvancedFilterOpsByFieldType(); } else { $advanceFilterOpsByFieldType = Vtiger_Field_Model::getAdvancedFilterOpsByFieldType(); } $viewer->assign('ADVANCED_FILTER_OPTIONS', Vtiger_Field_Model::getAdvancedFilterOptions()); $viewer->assign('ADVANCED_FILTER_OPTIONS_BY_TYPE', $advanceFilterOpsByFieldType); $dateFilters = Vtiger_Field_Model::getDateFilterTypes(); foreach ($dateFilters as $comparatorKey => $comparatorInfo) { $comparatorInfo['startdate'] = DateTimeField::convertToUserFormat($comparatorInfo['startdate']); $comparatorInfo['enddate'] = DateTimeField::convertToUserFormat($comparatorInfo['enddate']); $comparatorInfo['label'] = vtranslate($comparatorInfo['label'], $module); $dateFilters[$comparatorKey] = $comparatorInfo; } $viewer->assign('DATE_FILTERS', $dateFilters); $viewer->assign('RECORD_STRUCTURE_MODEL', $recordStructureInstance); $viewer->assign('RECORD_STRUCTURE', $recordStructureInstance->getStructure()); $viewer->assign('CUSTOMVIEW_MODEL', $customViewModel); $viewer->assign('RECORD_ID', $record); $viewer->assign('MODULE', $module); $viewer->assign('SOURCE_MODULE', $moduleName); $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel()); $viewer->assign('CV_PRIVATE_VALUE', CustomView_Record_Model::CV_STATUS_PRIVATE); $viewer->assign('CV_PENDING_VALUE', CustomView_Record_Model::CV_STATUS_PENDING); $viewer->assign('CV_PUBLIC_VALUE', CustomView_Record_Model::CV_STATUS_PUBLIC); $viewer->assign('MODULE_MODEL', $moduleModel); echo $viewer->view('EditView.tpl', $module, true); }
public function process(Vtiger_Request $request) { $primaryModule = $request->get('primodule'); $secondaryModules = $request->get('secmodule'); $record = $request->get('record'); $reportModel = Reports_Record_Model::getCleanInstance($record); /*if (!empty($record)) { $viewer->assign('SELECTED_STANDARD_FILTER_FIELDS', $reportModel->getSelectedStandardFilter()); $viewer->assign('SELECTED_ADVANCED_FILTER_FIELDS', $reportModel->transformToNewAdvancedFilter()); }*/ $reportModel->setPrimaryModule($primaryModule); if (!empty($secondaryModules)) { $reportModel->setSecondaryModule($secondaryModules); } $viewer = $this->getViewer($request); $viewer->assign('SELECTED_ADVANCED_FILTER_FIELDS', $reportModel->transformToNewAdvancedFilter()); $viewer->assign('PRIMARY_MODULE', $primaryModule); $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($reportModel); $primaryModuleRecordStructure = $recordStructureInstance->getPrimaryModuleRecordStructure(); $secondaryModuleRecordStructures = $recordStructureInstance->getSecondaryModuleRecordStructure(); $viewer->assign('PRIMARY_MODULE_RECORD_STRUCTURE', $primaryModuleRecordStructure); $viewer->assign('SECONDARY_MODULE_RECORD_STRUCTURES', $secondaryModuleRecordStructures); //$viewer->assign('PRIMARY_MODULE_RECORD_STRUCTURE', $reportModel->getPrimaryModuleRecordStructure()); //$viewer->assign('SECONDARY_MODULE_RECORD_STRUCTURES', $reportModel->getSecondaryModuleRecordStructure()); $viewer->assign('ADVANCED_FILTER_OPTIONS', Vtiger_Field_Model::getAdvancedFilterOptions()); $viewer->assign('ADVANCED_FILTER_OPTIONS_BY_TYPE', Vtiger_Field_Model::getAdvancedFilterOpsByFieldType()); $dateFilters = Vtiger_Field_Model::getDateFilterTypes(); foreach ($dateFilters as $comparatorKey => $comparatorInfo) { $comparatorInfo['startdate'] = DateTimeField::convertToUserFormat($comparatorInfo['startdate']); $comparatorInfo['enddate'] = DateTimeField::convertToUserFormat($comparatorInfo['enddate']); $comparatorInfo['label'] = vtranslate($comparatorInfo['label'], $module); $dateFilters[$comparatorKey] = $comparatorInfo; } $viewer->assign('DATE_FILTERS', $dateFilters); echo $viewer->view('BlockFilters.tpl', 'PDFMaker', true); /* $content = $viewer->view('BlockFilters.tpl', 'PDFMaker',true); echo "aaaaaaaaa"; /* $response = new Vtiger_Response(); $response->setResult($content); $response->emit(); */ }
public function process(Vtiger_Request $request) { $moduleName = $request->getModule(); $recordId = $request->get('record'); if (!empty($recordId)) { $recordModel = Vtiger_Record_Model::getInstanceById($recordId, $moduleName); } else { $recordModel = Vtiger_Record_Model::getCleanInstance($moduleName); } $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($recordModel, Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_EDIT); $dayStartPicklistValues = Users_Record_Model::getDayStartsPicklistValues($recordStructureInstance->getStructure()); $viewer = $this->getViewer($request); $viewer->assign("DAY_STARTS", Zend_Json::encode($dayStartPicklistValues)); $viewer->assign('IMAGE_DETAILS', $recordModel->getImageDetails()); $viewer->assign('TAG_CLOUD', $recordModel->getTagCloudStatus()); $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel()); parent::process($request); }
public function process(Vtiger_Request $request) { $moduleName = $request->getModule(); $recordModel = Vtiger_Record_Model::getCleanInstance($moduleName); $moduleModel = $recordModel->getModule(); $fieldList = $moduleModel->getFields(); $requestFieldList = array_intersect_key($request->getAll(), $fieldList); foreach ($requestFieldList as $fieldName => $fieldValue) { $fieldModel = $fieldList[$fieldName]; if ($fieldModel->isEditable()) { $recordModel->set($fieldName, $fieldModel->getDBInsertValue($fieldValue)); } } $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($recordModel, Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_QUICKCREATE); $picklistDependencyDatasource = Vtiger_DependencyPicklist::getPicklistDependencyDatasource($moduleName); $viewer = $this->getViewer($request); $viewer->assign('PICKIST_DEPENDENCY_DATASOURCE', Zend_Json::encode($picklistDependencyDatasource)); $recordStructure = $recordStructureInstance->getStructure(); $mappingRelatedField = $moduleModel->getMappingRelatedField($moduleName); $sourceRelatedField = $moduleModel->getValuesFromSource($moduleName, $request->get('sourceModule'), $request->get('sourceRecord')); foreach ($sourceRelatedField as $field => &$value) { if (isset($recordStructure[$field])) { $fieldvalue = $recordStructure[$field]->get('fieldvalue'); if (empty($fieldvalue)) { $recordStructure[$field]->set('fieldvalue', $value); unset($sourceRelatedField[$field]); } } } $viewer->assign('MAPPING_RELATED_FIELD', Zend_Json::encode($mappingRelatedField)); $viewer->assign('SOURCE_RELATED_FIELD', $sourceRelatedField); $viewer->assign('CURRENTDATE', date('Y-n-j')); $viewer->assign('MODULE', $moduleName); $viewer->assign('SINGLE_MODULE', 'SINGLE_' . $moduleName); $viewer->assign('MODULE_MODEL', $moduleModel); $viewer->assign('RECORD_STRUCTURE_MODEL', $recordStructureInstance); $viewer->assign('RECORD_STRUCTURE', $recordStructure); $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel()); $viewer->assign('VIEW', $request->get('view')); $viewer->assign('SCRIPTS', $this->getFooterScripts($request)); $viewer->assign('MAX_UPLOAD_LIMIT_MB', Vtiger_Util_Helper::getMaxUploadSize()); $viewer->assign('MAX_UPLOAD_LIMIT', vglobal('upload_maxsize')); echo $viewer->view('QuickCreate.tpl', $moduleName, true); }
/** * Function returns the mass edit form * @param Vtiger_Request $request */ function showMassEditForm(Vtiger_Request $request) { global $log; $log->debug("Entering ./views/MassActionAjax.php::showMassEditForm"); $moduleName = $request->getModule(); $cvId = $request->get('viewname'); $selectedIds = $request->get('selected_ids'); $excludedIds = $request->get('excluded_ids'); $viewer = $this->getViewer($request); $moduleModel = Vtiger_Module_Model::getInstance($moduleName); $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceForModule($moduleModel, Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_MASSEDIT); $fieldInfo = array(); $fieldList = $moduleModel->getFields(); foreach ($fieldList as $fieldName => $fieldModel) { $fieldInfo[$fieldName] = $fieldModel->getFieldInfo(); } $picklistDependencyDatasource = Vtiger_DependencyPicklist::getPicklistDependencyDatasource($moduleName); $viewer->assign('PICKIST_DEPENDENCY_DATASOURCE', Zend_Json::encode($picklistDependencyDatasource)); $viewer->assign('CURRENTDATE', date('Y-n-j')); $viewer->assign('MODE', 'massedit'); $viewer->assign('MODULE', $moduleName); $viewer->assign('CVID', $cvId); $viewer->assign('SELECTED_IDS', $selectedIds); $viewer->assign('EXCLUDED_IDS', $excludedIds); $viewer->assign('RECORD_STRUCTURE_MODEL', $recordStructureInstance); $viewer->assign('MODULE_MODEL', $moduleModel); $viewer->assign('MASS_EDIT_FIELD_DETAILS', $fieldInfo); $viewer->assign('RECORD_STRUCTURE', $recordStructureInstance->getStructure()); $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel()); $viewer->assign('MODULE_MODEL', $moduleModel); $searchKey = $request->get('search_key'); $searchValue = $request->get('search_value'); $operator = $request->get('operator'); if (!empty($operator)) { $viewer->assign('OPERATOR', $operator); $viewer->assign('ALPHABET_VALUE', $searchValue); $viewer->assign('SEARCH_KEY', $searchKey); } $searchParams = $request->get('search_params'); if (!empty($searchParams)) { $viewer->assign('SEARCH_PARAMS', $searchParams); } echo $viewer->view('MassEditForm.tpl', $moduleName, true); }
public function process(Vtiger_Request $request) { $recordId = $request->get('record'); $qualifiedModuleName = $request->getModule(false); $recordModel = Settings_Webforms_Record_Model::getInstanceById($recordId, $qualifiedModuleName); $recordModel->set('posturl', vglobal('site_URL') . 'modules/Webforms/capture.php'); $recordStructure = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($recordModel, Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_DETAIL); $moduleModel = $recordModel->getModule(); $navigationInfo = ListViewSession::getListViewNavigation($recordId); $viewer = $this->getViewer($request); $viewer->assign('RECORD', $recordModel); $viewer->assign('MODULE_NAME', $qualifiedModuleName); $viewer->assign('RECORD_STRUCTURE', $recordStructure->getStructure()); $viewer->assign('MODULE_MODEL', $moduleModel); $viewer->assign('BLOCK_LIST', $moduleModel->getBlocks()); $viewer->assign('SOURCE_MODULE', $recordModel->get('targetmodule')); $viewer->assign('DETAILVIEW_LINKS', $recordModel->getDetailViewLinks()); $viewer->assign('SELECTED_FIELD_MODELS_LIST', $recordModel->getSelectedFieldsList()); $viewer->assign('NO_PAGINATION', true); $viewer->view('DetailView.tpl', $qualifiedModuleName); }
function process(Vtiger_Request $request) { $recordId = $request->get('record'); $moduleName = $request->getModule(); if (!$this->record) { $this->record = Vtiger_DetailView_Model::getInstance($moduleName, $recordId); } $recordModel = $this->record->getRecord(); $recordStrucure = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($recordModel, Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_DETAIL); $structuredValues = $recordStrucure->getStructure(); $moduleModel = $recordModel->getModule(); $viewer = $this->getViewer($request); $viewer->assign('VIEW', $request->get('view')); $viewer->assign('RECORD', $recordModel); $viewer->assign('RECORD_STRUCTURE', $structuredValues); $viewer->assign('BLOCK_LIST', $moduleModel->getBlocks()); $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel()); $viewer->assign('MODULE_NAME', $moduleName); $viewer->assign('IS_AJAX_ENABLED', false); $viewer->view('SmartDetail.tpl', $moduleName); }
public function getCalendarSettings(Vtiger_Request $request) { $viewer = $this->getViewer($request); $currentUserModel = Users_Record_Model::getCurrentUserModel(); $module = $request->getModule(); $detailViewModel = Vtiger_DetailView_Model::getInstance('Users', $currentUserModel->id); $userRecordStructure = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($detailViewModel->getRecord(), Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_EDIT); $recordStructure = $userRecordStructure->getStructure(); $allUsers = Users_Record_Model::getAll(true); $sharedUsers = Calendar_Module_Model::getCaledarSharedUsers($currentUserModel->id); $sharedType = Calendar_Module_Model::getSharedType($currentUserModel->id); $dayStartPicklistValues = Users_Record_Model::getDayStartsPicklistValues($recordStructure); $viewer->assign('CURRENTUSER_MODEL', $currentUserModel); $viewer->assign('SHAREDUSERS', $sharedUsers); $viewer->assign("DAY_STARTS", Zend_Json::encode($dayStartPicklistValues)); $viewer->assign('ALL_USERS', $allUsers); $viewer->assign('RECORD_STRUCTURE', $recordStructure); $viewer->assign('MODULE', $module); $viewer->assign('RECORD', $currentUserModel->id); $viewer->assign('SHAREDTYPE', $sharedType); $viewer->view('CalendarSettings.tpl', $request->getModule()); }
public function process(Vtiger_Request $request) { $isRelationOperation = $request->get('relationOperation'); $record = $request->get('record'); /* If it's relation operation then adding to record model values from related modules for display on Edit page */ if ($isRelationOperation && empty($record)) { $moduleName = $request->getModule(); $return_module = $request->get('sourceModule'); // Get clean record model $recordModel = Vtiger_Record_Model::getCleanInstance($moduleName); // Include related module main class require_once "modules/{$return_module}/{$return_module}.php"; $return_focus = new $return_module(); $return_focus->id = $request->get('sourceRecord'); $return_focus->retrieve_entity_info($request->get('sourceRecord'), $return_module); if ($return_module == 'Accounts' || $return_module == 'Contacts' || $return_module == 'Vendors') { $payer = $return_focus->column_fields['record_id']; } elseif ($return_module == 'Invoice' || $return_module == 'SalesOrder' || $return_module == 'PurchaseOrder') { $related_to = $return_focus->column_fields['record_id']; $amount = number_format($return_focus->column_fields['hdnGrandTotal'], 2, '.', ''); if ($return_module == 'PurchaseOrder') { $payer = $return_focus->column_fields['vendor_id']; } else { $payer = $return_focus->column_fields['account_id']; } } // Add values to model $recordModel->set("payer", $payer); $recordModel->set("related_to", $related_to); $recordModel->set("amount", $amount); $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($recordModel, Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_EDIT); $recordStructureInstance->getStructure(); } parent::process($request); }
public function process(Vtiger_Request $request) { $viewer = $this->getViewer ($request); $moduleName = $request->getModule(); $qualifiedModuleName = $request->getModule(false); $module = Vtiger_Functions::getModuleName($request->get("module_id")); $adb = PearDatabase::getInstance(); $sql = "select * from vtiger_customview where viewname = ? and entitytype = ? and status = ?"; $result = $adb->pquery($sql, array('All', $module, 0)); while($row = $adb->fetchByAssoc($result)){ $record = $row['cvid']; } $customViewModel = CustomView_Record_Model::getInstanceById($record); $moduleModel = Vtiger_Module_Model::getInstance($module); $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceForModule($moduleModel); $recordStructure = $recordStructureInstance->getStructure(); $viewer->assign('CUSTOMVIEW_MODEL', $customViewModel); $viewer->assign('RECORD_STRUCTURE', $recordStructure); $viewer->assign('RECORD_ID', $record); $viewer->assign('SOURCE_MODULE', $module); $viewer->assign('MODULENAME', $moduleName); echo $viewer->view('List2.tpl', $qualifiedModuleName,true); }
public function initializeListViewContents(Vtiger_Request $request, Vtiger_Viewer $viewer) { //src_module value is added to just to stop showing inactive products $request->set('src_module', $request->getModule()); $moduleName = $this->getModule($request); $cvId = $request->get('cvid'); $pageNumber = $request->get('page'); $orderBy = $request->get('orderby'); $sortOrder = $request->get('sortorder'); $sourceField = $request->get('src_field'); $sourceRecord = $request->get('src_record'); $searchKey = $request->get('search_key'); $searchValue = $request->get('search_value'); $currencyId = $request->get('currency_id'); //To handle special operation when selecting record from Popup $getUrl = $request->get('get_url'); // To handle subproducts in popup view $subProductsPopup = $request->get('subProductsPopup'); $parentProductId = $request->get('productid'); //Check whether the request is in multi select mode $multiSelectMode = $request->get('multi_select'); if (empty($multiSelectMode)) { $multiSelectMode = false; } if (empty($cvId)) { $cvId = '0'; } if (empty($pageNumber)) { $pageNumber = '1'; } $pagingModel = new Vtiger_Paging_Model(); $pagingModel->set('page', $pageNumber); $moduleModel = Vtiger_Module_Model::getInstance($moduleName); $listViewModel = Vtiger_ListView_Model::getInstanceForPopup($moduleName); $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceForModule($moduleModel); if (!empty($orderBy)) { $listViewModel->set('orderby', $orderBy); $listViewModel->set('sortorder', $sortOrder); } if (!empty($sourceModule)) { $listViewModel->set('src_module', $sourceModule); $listViewModel->set('src_field', $sourceField); $listViewModel->set('src_record', $sourceRecord); } if (!empty($searchKey) && !empty($searchValue)) { $listViewModel->set('search_key', $searchKey); $listViewModel->set('search_value', $searchValue); } if ($subProductsPopup && $parentProductId) { $listViewModel->set('subProductsPopup', true); $listViewModel->set('productId', $parentProductId); $viewer->assign('SUBPRODUCTS_POPUP', $subProductsPopup); $viewer->assign('PARENT_PRODUCT_ID', $parentProductId); } if (!$this->listViewHeaders) { $this->listViewHeaders = $listViewModel->getListViewHeaders(); } if (!$this->listViewEntries) { $this->listViewEntries = $listViewModel->getListViewEntries($pagingModel); } $noOfEntries = count($this->listViewEntries); if (empty($sortOrder)) { $sortOrder = "ASC"; } if ($sortOrder == "ASC") { $nextSortOrder = "DESC"; $sortImage = "downArrowSmall.png"; } else { $nextSortOrder = "ASC"; $sortImage = "upArrowSmall.png"; } $viewer->assign('MODULE', $moduleName); $viewer->assign('SOURCE_MODULE', $sourceModule); $viewer->assign('SOURCE_FIELD', $sourceField); $viewer->assign('SOURCE_RECORD', $sourceRecord); $viewer->assign('SEARCH_KEY', $searchKey); $viewer->assign('SEARCH_VALUE', $searchValue); $viewer->assign('ORDER_BY', $orderBy); $viewer->assign('SORT_ORDER', $sortOrder); $viewer->assign('NEXT_SORT_ORDER', $nextSortOrder); $viewer->assign('SORT_IMAGE', $sortImage); $viewer->assign('GETURL', $getUrl); $viewer->assign('CURRENCY_ID', $currencyId); $viewer->assign('RECORD_STRUCTURE_MODEL', $recordStructureInstance); $viewer->assign('RECORD_STRUCTURE', $recordStructureInstance->getStructure()); $viewer->assign('PAGING_MODEL', $pagingModel); $viewer->assign('PAGE_NUMBER', $pageNumber); $viewer->assign('LISTVIEW_ENTRIES_COUNT', $noOfEntries); $viewer->assign('LISTVIEW_HEADERS', $this->listViewHeaders); $viewer->assign('LISTVIEW_ENTRIES', $this->listViewEntries); if (PerformancePrefs::getBoolean('LISTVIEW_COMPUTE_PAGE_COUNT', false)) { if (!$this->listViewCount) { $this->listViewCount = $listViewModel->getListViewCount(); } $totalCount = $this->listViewCount; $pageLimit = $pagingModel->getPageLimit(); $pageCount = ceil((int) $totalCount / (int) $pageLimit); if ($pageCount == 0) { $pageCount = 1; } $viewer->assign('PAGE_COUNT', $pageCount); $viewer->assign('LISTVIEW_COUNT', $totalCount); } $viewer->assign('MULTI_SELECT', $multiSelectMode); $viewer->assign('CURRENT_USER_MODEL', Users_Record_Model::getCurrentUserModel()); $viewer->assign('MODULE', $request->getModule()); $viewer->assign('GETURL', 'getTaxesURL'); $viewer->assign('VIEW', 'SubProductsPopup'); $viewer->assign('MAIN_PRODUCT_POPUP', true); }
function showRelatedProductsServices(Vtiger_Request $request) { $recordId = $request->get('record'); $moduleName = $request->getModule(); if (!$this->record) { $this->record = Vtiger_DetailView_Model::getInstance($moduleName, $recordId); } $recordModel = $this->record->getRecord(); $detailViewLinkParams = array('MODULE' => $moduleName, 'RECORD' => $recordId); $detailViewLinks = $this->record->getDetailViewLinks($detailViewLinkParams); $viewer = $this->getViewer($request); $viewer->assign('RECORDID', $recordId); $viewer->assign('RECORD', $recordModel); //$viewer->assign('MODULE_SUMMARY', $this->showModuleSummaryView($request)); $viewer->assign('DETAILVIEW_LINKS', $detailViewLinks); $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel()); $viewer->assign('IS_AJAX_ENABLED', $this->isAjaxEnabled($recordModel)); $viewer->assign('MODULE_NAME', $moduleName); $viewer->assign('LIMIT', 5); $viewer->assign('PANDS', 'yes'); $recordStrucure = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($recordModel, Vtiger_RecordStructure_Model::RECORD_STRUCTURE_MODE_DETAIL); $structuredValues = $recordStrucure->getStructure(); $moduleModel = $recordModel->getModule(); $viewer->assign('RECORD_STRUCTURE', $structuredValues); $viewer->assign('BLOCK_LIST', $moduleModel->getBlocks()); echo $viewer->view('DetailViewProductsServicesContents.tpl', $moduleName, true); }
public function initializeListViewContents(Vtiger_Request $request, Vtiger_Viewer $viewer) { $moduleName = $request->getModule(); $cvId = $request->get('cvid'); $pageNumber = $request->get('page'); $orderBy = $request->get('orderby'); $sortOrder = $request->get('sortorder'); $sourceModule = $request->get('src_module'); $sourceField = $request->get('src_field'); $sourceRecord = $request->get('src_record'); $searchKey = $request->get('search_key'); $searchValue = $request->get('search_value'); if (empty($cvId)) { $cvId = '0'; } if (empty($pageNumber)) { $pageNumber = '1'; } $pagingModel = new Vtiger_Paging_Model(); $pagingModel->set('page', $pageNumber); $moduleModel = Vtiger_Module_Model::getInstance($moduleName); $listViewModel = Vtiger_ListView_Model::getInstanceForPopup($moduleName, $sourceModule); $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceForModule($moduleModel); if (empty($orderBy) && empty($sortOrder)) { $moduleInstance = CRMEntity::getInstance($moduleName); $orderBy = $moduleInstance->default_order_by; $sortOrder = $moduleInstance->default_sort_order; } if (!empty($orderBy)) { $listViewModel->set('orderby', $orderBy); $listViewModel->set('sortorder', $sortOrder); } if (!empty($sourceModule)) { $listViewModel->set('src_module', $sourceModule); $listViewModel->set('src_field', $sourceField); $listViewModel->set('src_record', $sourceRecord); $sourceRecordModel = Vtiger_Record_Model::getInstanceById($sourceRecord, $sourceModule); } if (!empty($searchKey) && !empty($searchValue)) { $listViewModel->set('search_key', $searchKey); $listViewModel->set('search_value', $searchValue); } if (!$this->listViewHeaders) { $this->listViewHeaders = $listViewModel->getListViewHeaders(); } if (!$this->listViewEntries) { $this->listViewEntries = $listViewModel->getListViewEntries($pagingModel); } //get the unit prices for the pricebooks based on the product currency $productUnitPrice = Vtiger_Functions::getUnitPrice($sourceRecord, $sourceModule); $productPriceDetails = getPriceDetailsForProduct($sourceRecord, $productUnitPrice, 'available', $sourceModule); $productCurrencyPrice = array(); foreach ($productPriceDetails as $priceDetails) { $productCurrencyPrice[$priceDetails['curid']] = $priceDetails['curvalue']; } foreach ($this->listViewEntries as $recordId => $recordModel) { $recordDetails = $recordModel->getRawData(); $priceBookCurrencyId = $recordDetails['currency_id']; $recordModel->set('unit_price', $productCurrencyPrice[$priceBookCurrencyId]); } $noOfEntries = count($this->listViewEntries); if (empty($sortOrder)) { $sortOrder = "ASC"; } if ($sortOrder == "ASC") { $nextSortOrder = "DESC"; $sortImage = "downArrowSmall.png"; } else { $nextSortOrder = "ASC"; $sortImage = "upArrowSmall.png"; } $viewer->assign('MODULE', $moduleName); $viewer->assign('SOURCE_MODULE', $sourceModule); $viewer->assign('SOURCE_FIELD', $sourceField); $viewer->assign('SOURCE_RECORD', $sourceRecord); $viewer->assign('SOURCE_RECORD_MODEL', $sourceRecordModel); //PARENT_MODULE is used for only translations $viewer->assign('PARENT_MODULE', 'PriceBooks'); $viewer->assign('SEARCH_KEY', $searchKey); $viewer->assign('SEARCH_VALUE', $searchValue); $viewer->assign('ORDER_BY', $orderBy); $viewer->assign('SORT_ORDER', $sortOrder); $viewer->assign('NEXT_SORT_ORDER', $nextSortOrder); $viewer->assign('SORT_IMAGE', $sortImage); $viewer->assign('RECORD_STRUCTURE_MODEL', $recordStructureInstance); $viewer->assign('RECORD_STRUCTURE', $recordStructureInstance->getStructure()); $viewer->assign('PAGING_MODEL', $pagingModel); $viewer->assign('PAGE_NUMBER', $pageNumber); $viewer->assign('LISTVIEW_ENTRIES_COUNT', $noOfEntries); $viewer->assign('LISTVIEW_HEADERS', $this->listViewHeaders); $viewer->assign('LISTVIEW_ENTRIES', $this->listViewEntries); $viewer->assign('VIEW', 'ProductPriceBookPopup'); }
function step2(Vtiger_Request $request) { $viewer = $this->getViewer($request); $moduleName = $request->getModule(); $record = $request->get('record'); $reportModel = Reports_Record_Model::getCleanInstance($record); if (!empty($record) && !$request->get('isDuplicate')) { $viewer->assign('SELECTED_STANDARD_FILTER_FIELDS', $reportModel->getSelectedStandardFilter()); $viewer->assign('SELECTED_ADVANCED_FILTER_FIELDS', $reportModel->transformToNewAdvancedFilter()); } $data = $request->getAll(); foreach ($data as $name => $value) { $reportModel->set($name, $value); } $primaryModule = $request->get('primary_module'); $secondaryModules = $request->get('secondary_modules'); $reportModel->setPrimaryModule($primaryModule); if (!empty($secondaryModules)) { $secondaryModules = implode(':', $secondaryModules); $reportModel->setSecondaryModule($secondaryModules); $secondaryModules = explode(':', $secondaryModules); } else { $secondaryModules = array(); } $viewer->assign('RECORD_ID', $record); $viewer->assign('REPORT_MODEL', $reportModel); $viewer->assign('PRIMARY_MODULE', $primaryModule); $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceFromRecordModel($reportModel); $primaryModuleRecordStructure = $recordStructureInstance->getPrimaryModuleRecordStructure(); $secondaryModuleRecordStructures = $recordStructureInstance->getSecondaryModuleRecordStructure(); $viewer->assign('SECONDARY_MODULES', $secondaryModules); $viewer->assign('PRIMARY_MODULE_RECORD_STRUCTURE', $primaryModuleRecordStructure); $viewer->assign('SECONDARY_MODULE_RECORD_STRUCTURES', $secondaryModuleRecordStructures); $dateFilters = Vtiger_Field_Model::getDateFilterTypes(); foreach ($dateFilters as $comparatorKey => $comparatorInfo) { $comparatorInfo['startdate'] = DateTimeField::convertToUserFormat($comparatorInfo['startdate']); $comparatorInfo['enddate'] = DateTimeField::convertToUserFormat($comparatorInfo['enddate']); $comparatorInfo['label'] = vtranslate($comparatorInfo['label'], $moduleName); $dateFilters[$comparatorKey] = $comparatorInfo; } $viewer->assign('DATE_FILTERS', $dateFilters); if ($primaryModule == 'Calendar' || in_array('Calendar', $secondaryModules)) { $advanceFilterOpsByFieldType = Calendar_Field_Model::getAdvancedFilterOpsByFieldType(); } else { $advanceFilterOpsByFieldType = Vtiger_Field_Model::getAdvancedFilterOpsByFieldType(); } $viewer->assign('ADVANCED_FILTER_OPTIONS', Vtiger_Field_Model::getAdvancedFilterOptions()); $viewer->assign('ADVANCED_FILTER_OPTIONS_BY_TYPE', $advanceFilterOpsByFieldType); $viewer->assign('MODULE', $moduleName); $calculationFields = $reportModel->get('calculation_fields'); if ($calculationFields) { $calculationFields = Zend_Json::decode($calculationFields); $viewer->assign('LINEITEM_FIELD_IN_CALCULATION', $reportModel->showLineItemFieldsInFilter($calculationFields)); } if ($request->get('isDuplicate')) { $viewer->assign('IS_DUPLICATE', true); } $viewer->view('ChartEditStep2.tpl', $moduleName); }