Example #1
0
 function process(Vtiger_Request $request)
 {
     $moduleName = $request->getModule();
     $relatedModuleName = $request->get('relatedModule');
     $parentId = $request->get('record');
     $label = $request->get('tab_label');
     $parentRecordModel = Vtiger_Record_Model::getInstanceById($parentId, $moduleName);
     $relationListView = Vtiger_RelationListView_Model::getInstance($parentRecordModel, $relatedModuleName, $label);
     $relationModel = $relationListView->getRelationModel();
     $viewer = $this->getViewer($request);
     if (array_key_exists($relatedModuleName, $relationModel->getEmailEnabledModulesInfoForDetailView())) {
         $viewer->assign('CUSTOM_VIEWS', CustomView_Record_Model::getAllByGroup($relatedModuleName));
         $viewer->assign('STATUS_VALUES', $relationModel->getCampaignRelationStatusValues());
         $viewer->assign('SELECTED_IDS', $request->get('selectedIds'));
         $viewer->assign('EXCLUDED_IDS', $request->get('excludedIds'));
     }
     return parent::process($request);
 }
Example #2
0
 function process(Vtiger_Request $request)
 {
     $targetModuleName = $request->getModule();
     if ($targetModuleName == 'Assets' || $targetModuleName == 'Accounts' || $targetModuleName == 'Contacts' || $targetModuleName == 'Leads' || $targetModuleName == 'Products' || $targetModuleName == 'Services' || $targetModuleName == 'HelpDesk' || $targetModuleName == 'Vendors') {
         $moduleName = $request->getModule();
         $relatedModuleName = $request->get('relatedModule');
         $parentId = $request->get('record');
         $label = $request->get('tab_label');
         $requestedPage = $request->get('page');
         if (empty($requestedPage)) {
             $requestedPage = 1;
         }
         $pagingModel = new Vtiger_Paging_Model();
         $pagingModel->set('page', $requestedPage);
         $parentRecordModel = Vtiger_Record_Model::getInstanceById($parentId, $moduleName);
         $relationListView = Vtiger_RelationListView_Model::getInstance($parentRecordModel, $relatedModuleName, $label);
         $orderBy = $request->get('orderby');
         $sortOrder = $request->get('sortorder');
         if (empty($orderBy) && empty($sortOrder)) {
             $moduleInstance = CRMEntity::getInstance($relatedModuleName);
             $orderBy = $moduleInstance->default_order_by;
             $sortOrder = $moduleInstance->default_sort_order;
         }
         if ($sortOrder == 'ASC') {
             $nextSortOrder = 'DESC';
             $sortImage = 'glyphicon glyphicon-chevron-down';
         } else {
             $nextSortOrder = 'ASC';
             $sortImage = 'glyphicon glyphicon-chevron-up';
         }
         if (!empty($orderBy)) {
             $relationListView->set('orderby', $orderBy);
             $relationListView->set('sortorder', $sortOrder);
         }
         $models = $relationListView->getEntries($pagingModel);
         $links = $relationListView->getLinks();
         $header = $relationListView->getHeaders();
         $noOfEntries = count($models);
         $relationModel = $relationListView->getRelationModel();
         $relatedModuleModel = $relationModel->getRelationModuleModel();
         $relationField = $relationModel->getRelationField();
         $viewer = $this->getViewer($request);
         $viewer->assign('RELATED_RECORDS', $models);
         $viewer->assign('PARENT_RECORD', $parentRecordModel);
         $viewer->assign('RELATED_LIST_LINKS', $links);
         $viewer->assign('RELATED_HEADERS', $header);
         $viewer->assign('RELATED_MODULE', $relatedModuleModel);
         $viewer->assign('RELATED_ENTIRES_COUNT', $noOfEntries);
         $viewer->assign('RELATION_FIELD', $relationField);
         if (PerformancePrefs::getBoolean('LISTVIEW_COMPUTE_PAGE_COUNT', false)) {
             $totalCount = $relationListView->getRelatedEntriesCount();
             $pageLimit = $pagingModel->getPageLimit();
             $pageCount = ceil((int) $totalCount / (int) $pageLimit);
             $viewer->assign('PAGE_COUNT', $pageCount);
             $viewer->assign('TOTAL_ENTRIES', $totalCount);
             $viewer->assign('PERFORMANCE', true);
         }
         $viewer->assign('SOURCEMODULE', $relatedModuleName);
         $viewer->assign('MODULE', $moduleName);
         $viewer->assign('PAGING', $pagingModel);
         $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('IS_EDITABLE', $relationModel->isEditable());
         $viewer->assign('IS_DELETABLE', $relationModel->isDeletable());
         $viewer->assign('VIEW', $request->get('view'));
         $record = $request->get('record');
         $view = $request->get('view');
         // check if passwords are encrypted
         if (file_exists('modules/OSSPasswords/config.ini')) {
             // encryption key exists so passwords are encrypted
             $config = parse_ini_file('modules/OSSPasswords/config.ini');
             // let smarty know that passwords are encrypted
             $viewer->assign('ENCRYPTED', true);
             $viewer->assign('ENC_KEY', $config['key']);
             $viewer->assign('RECORD', $record);
             $viewer->assign('VIEW', $view);
         } else {
             $viewer->assign('ENCRYPTED', false);
             $viewer->assign('ENC_KEY', '');
             $viewer->assign('RECORD', $record);
             $viewer->assign('VIEW', $view);
         }
         return $viewer->view('ViewRelatedList.tpl', 'OSSPasswords', 'true');
     } else {
         return parent::process($request);
     }
 }