$relatedModule * @return */ public function getSpecificRelationQuery($relatedModule) { if ($relatedModule === 'Leads') { $specificQuery = 'AND vtiger_leaddetails.converted = 0'; return $specificQuery; } return parent::getSpecificRelationQuery($relatedModule); } /** * Function to check whether the module is summary view supported * @return - true/false */ public function isSummaryViewSupported() { return false; } /** * Function to get list view query for popup window * @param $sourceModule Parent module * @param $field parent fieldname * @param $record parent id * @param $listQuery * @return Listview Query */ public function getQueryByModuleField($sourceModule, $field, $record, $listQuery) { if (in_array($sourceModule, array('Leads', 'Accounts', 'Contacts'))) { switch($sourceModule) { case 'Leads' : $tableName = 'vtiger_campaignleadrel'; $relatedFieldName = 'leadid'; break; case 'Accounts' : $tableName = 'vtiger_campaignaccountrel'; $relatedFieldName = 'accountid'; break; case 'Contacts' : $tableName = 'vtiger_campaigncontrel'; $relatedFieldName = 'contactid'; break; } $condition = " vtiger_campaign.campaignid NOT IN (SELECT campaignid FROM $tableName WHERE $relatedFieldName = '$record')"; $pos = stripos($listQuery, 'where'); if ($pos) { $split = spliti('where', $listQuery); $overRideQuery = $split[0] . ' WHERE ' . $split[1] . ' AND ' . $condition; } else { $overRideQuery = $listQuery. ' WHERE ' . $condition; } return $overRideQuery; } } }