diff --git a/modules/Vtiger/models/RelationListView.php b/modules/Vtiger/models/RelationListView.php index aecdb2c1616852e05c529005e1d6fcab343bca67..2a32d8a3fcb1d8ee7ff5a0f4397b08a8b9896176 100644 --- a/modules/Vtiger/models/RelationListView.php +++ b/modules/Vtiger/models/RelationListView.php @@ -274,7 +274,7 @@ class Vtiger_RelationListView_Model extends Vtiger_Base_Model { if ($this->get('whereCondition') && is_array($this->get('whereCondition'))) { $currentUser = Users_Record_Model::getCurrentUserModel(); - $queryGenerator = new QueryGenerator($relationModuleName, $currentUser); + $queryGenerator = new EnhancedQueryGenerator($relationModuleName, $currentUser); $queryGenerator->setFields(array_values($relatedColumnFields)); $whereCondition = $this->get('whereCondition'); foreach ($whereCondition as $fieldName => $fieldValue) { diff --git a/modules/Vtiger/views/Popup.php b/modules/Vtiger/views/Popup.php index d66bf82e94bc45d973e48a3203717ae4afda708f..ae275249ebf6def7ad4451fcbc30cfc3e0e5fe94 100644 --- a/modules/Vtiger/views/Popup.php +++ b/modules/Vtiger/views/Popup.php @@ -169,6 +169,25 @@ class Vtiger_Popup_View extends Vtiger_Footer_View { if(!empty($relatedParentModule) && !empty($relatedParentId)) { $this->listViewHeaders = $listViewModel->getHeaders(); + $relatedModuleModel = Vtiger_Module_Model::getInstance($moduleName); + $moduleFields = $relatedModuleModel->getFields(); + + if (empty($searchParams)) { + $searchParams = array(); + } + + $whereCondition = array(); + foreach ($searchParams as $fieldListGroup) { + foreach ($fieldListGroup as $fieldSearchInfo) { + $fieldModel = $moduleFields[$fieldSearchInfo[0]]; + $tableName = Vtiger_Util_Helper::validateStringForSql($fieldModel->get('table')); + $column = Vtiger_Util_Helper::validateStringForSql($fieldModel->get('column')); + $whereCondition[$fieldSearchInfo[0]] = array($tableName.'.'.$column, $fieldSearchInfo[1], $fieldSearchInfo[2]); + } + } + if (!empty($whereCondition)) + $listViewModel->set('whereCondition', $whereCondition); + $models = $listViewModel->getEntries($pagingModel); $noOfEntries = php7_count($models); foreach ($models as $recordId => $recordModel) {