protected function getRecordsListFromRequest(Vtiger_Request $request) { $cvId = $request->get('viewname'); $module = $request->get('module'); if (!empty($cvId) && $cvId == "undefined") { $sourceModule = $request->get('sourceModule'); $cvId = CustomView_Record_Model::getAllFilterByModule($sourceModule)->getId(); } $selectedIds = $request->get('selected_ids'); $excludedIds = $request->get('excluded_ids'); if (!empty($selectedIds) && $selectedIds != 'all') { if (!empty($selectedIds) && count($selectedIds) > 0) { return $selectedIds; } } $customViewModel = CustomView_Record_Model::getInstanceById($cvId); if ($customViewModel) { $searchKey = $request->get('search_key'); $searchValue = $request->get('search_value'); $operator = $request->get('operator'); if (!empty($operator)) { $customViewModel->set('operator', $operator); $customViewModel->set('search_key', $searchKey); $customViewModel->set('search_value', $searchValue); } $customViewModel->set('search_params', $request->get('search_params')); return $customViewModel->getRecordIds($excludedIds, $module); } }
/** * Static Function to get the Instance of Vtiger ListView model for a given module and custom view * @param <String> $moduleName - Module Name * @param <Number> $viewId - Custom View Id * @return Vtiger_ListView_Model instance */ public static function getInstance($moduleName, $sourceModule) { $db = PearDatabase::getInstance(); $currentUser = vglobal('current_user'); $modelClassName = Vtiger_Loader::getComponentClassName('Model', 'ListView', $moduleName); $instance = new $modelClassName(); $sourceModuleModel = Vtiger_Module_Model::getInstance($sourceModule); $queryGenerator = new QueryGenerator($sourceModuleModel->get('name'), $currentUser); $cvidObj = CustomView_Record_Model::getAllFilterByModule($sourceModuleModel->get('name')); $cvid = $cvidObj->getId('cvid'); $queryGenerator->initForCustomViewById($cvid); $controller = new ListViewController($db, $currentUser, $queryGenerator); return $instance->set('module', $sourceModuleModel)->set('query_generator', $queryGenerator)->set('listview_controller', $controller); }
public function initializeListViewContents(Vtiger_Request $request, Vtiger_Viewer $viewer) { $currentUser = vglobal('current_user'); $viewer = $this->getViewer($request); $module = $request->getModule(); $moduleModel = Vtiger_Module_Model::getInstance($module); $massActionLink = array('linktype' => 'LISTVIEWBASIC', 'linklabel' => 'LBL_DELETE', 'linkurl' => 'Javascript:Vtiger_FindDuplicates_Js.massDeleteRecords("index.php?module=' . $module . '&action=MassDelete");', 'linkicon' => ''); $massActionLinks[] = Vtiger_Link_Model::getInstanceFromValues($massActionLink); $viewer->assign('LISTVIEW_LINKS', $massActionLinks); $viewer->assign('MODULE_MODEL', $moduleModel); $pageNumber = $request->get('page'); if (empty($pageNumber)) { $pageNumber = '1'; } $pagingModel = new Vtiger_Paging_Model(); $pagingModel->set('page', $pageNumber); $pageLimit = $pagingModel->getPageLimit(); $duplicateSearchFields = $request->get('fields'); $dataModelInstance = Vtiger_FindDuplicate_Model::getInstance($module); $dataModelInstance->set('fields', $duplicateSearchFields); $ignoreEmpty = $request->get('ignoreEmpty'); $ignoreEmptyValue = false; if ($ignoreEmpty == 'on' || $ignoreEmpty == 'true' || $ignoreEmpty == '1') { $ignoreEmptyValue = true; } $dataModelInstance->set('ignoreEmpty', $ignoreEmptyValue); if (!$this->listViewEntries) { $this->listViewEntries = $dataModelInstance->getListViewEntries($pagingModel); } if (!$this->listViewHeaders) { $this->listViewHeaders = $dataModelInstance->getListViewHeaders(); } if (!$this->rows) { $this->rows = $dataModelInstance->getRecordCount(); $viewer->assign('TOTAL_COUNT', $this->rows); } $rowCount = 0; foreach ($this->listViewEntries as $group) { foreach ($group as $row) { $rowCount++; } } //for calculating the page range for ($i = 0; $i < $rowCount; $i++) { $dummyListEntries[] = $i; } $pagingModel->calculatePageRange($dummyListEntries); $viewer->assign('IGNORE_EMPTY', $ignoreEmpty); $viewer->assign('LISTVIEW_ENTIRES_COUNT', $rowCount); $viewer->assign('LISTVIEW_HEADERS', $this->listViewHeaders); $viewer->assign('LISTVIEW_ENTRIES', $this->listViewEntries); $viewer->assign('PAGING_MODEL', $pagingModel); $viewer->assign('PAGE_NUMBER', $pageNumber); $viewer->assign('MODULE', $module); $viewer->assign('DUPLICATE_SEARCH_FIELDS', $duplicateSearchFields); $customViewModel = CustomView_Record_Model::getAllFilterByModule($module); $viewer->assign('VIEW_NAME', $customViewModel->getId()); }
Migration_Index_View::ExecuteQuery("INSERT INTO vtiger_field VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", array($tab_id, $field_id, $columnname, "sp_payments", 1, $uitype, $fieldname, $fieldlabel, 1, 0, 0, 100, $field_seq, $block_id, 1, "V~O", 1, NULL, "BAS", 1, NULL, 0)); Migration_Index_View::ExecuteQuery("INSERT INTO vtiger_profile2field SELECT profileid, {$tab_id}, {$field_id}, 0, 1 FROM vtiger_profile", array()); Migration_Index_View::ExecuteQuery("INSERT INTO vtiger_def_org_field VALUES({$tab_id}, {$field_id}, 0, 1)", array()); // End // Begin Update summary fields for PBXManager Migration_Index_View::ExecuteQuery("ALTER TABLE vtiger_systems ADD COLUMN use_mail_account varchar(5) DEFAULT NULL", array()); // End // Begin Set custom view for standard All filter $cvInstance = CustomView_Record_Model::getAllFilterByModule('Act'); $res = $adb->pquery('select * from vtiger_cvcolumnlist where cvid = ? and columnindex = ?', array($cvInstance->getId(), 0)); if ($adb->num_rows($res) == 0) { $sql = "insert into vtiger_cvcolumnlist (cvid, columnindex, columnname) values (?,?,?)"; $params = array($cvInstance->getId(), 0, 'vtiger_sp_act:act_no:act_no:Act_Act_No:V'); $adb->pquery($sql, $params); } $cvInstance = CustomView_Record_Model::getAllFilterByModule('Consignment'); $res = $adb->pquery('select * from vtiger_cvcolumnlist where cvid = ? and columnindex = ?', array($cvInstance->getId(), 0)); if ($adb->num_rows($res) == 0) { $sql = "insert into vtiger_cvcolumnlist (cvid, columnindex, columnname) values (?,?,?)"; $params = array($cvInstance->getId(), 0, 'vtiger_sp_consignment:consignment_no:consignment_no:Consignment_Consignment_No:V'); $adb->pquery($sql, $params); } // End // Begin Update Invoice links if (defined('VTIGER_UPGRADE')) { $updateQuery = 'UPDATE vtiger_links SET linkurl = ? WHERE linklabel = ? AND tabid = ' . getTabid('Invoice'); Migration_Index_View::ExecuteQuery($updateQuery, array('index.php?module=Act&view=Edit&sourceModule=$MODULE$&sourceRecord=$RECORD$&invoice_id=$RECORD$&relationOperation=true', 'LBL_INVOICE_ADD_ACT')); } // End // Begin Folder for Reports Templates $sql = "INSERT INTO vtiger_reportfolder (FOLDERNAME,DESCRIPTION,STATE) VALUES(?,?,?)";