Fixed code to support contribution search for soft credit filter

This commit is contained in:
2019-03-26 21:51:17 +00:00
parent a24c24e846
commit 37bc03a58f
3 changed files with 39 additions and 13 deletions

View File

@ -20,18 +20,16 @@ class CRM_SoftCredit_SoftCreditQueryObject extends CRM_Contact_BAO_Query_Interfa
*
*/
public function where(&$query) {
if (empty($query->_paramLookup['soft_credit_name'])) {
return;
}
if (!in_array(CRM_Contribute_BAO_Query::$_contribOrSoftCredit, array("only_scredits", "both_related", "both"))) {
return;
}
list($name, $op, $value, $grouping, $wildcard) = reset($query->_paramLookup['soft_credit_name']);
if ($value) {
$query->_where[$grouping][] = "civicrm_contact_creditee.sort_name LIKE '%{$value}%'";
$query->_whereTables['civicrm_contribution_soft_creditee_contact'] = 1;
$query->_tables['civicrm_contribution_soft_creditee_contact'] = 1;
$query->_qill[$grouping][] = ts("%1 %2 - '%3'", [1 => 'Soft Creditee\'s name', 2 => 'LIKE', 3 => $value]);
if (!empty($query->_paramLookup['soft_credit_name'])) {
list($name, $op, $value, $grouping, $wildcard) = reset($query->_paramLookup['soft_credit_name']);
if ($value) {
$query->_where[$grouping][] = "civicrm_contact_creditee.sort_name LIKE '%{$value}%'";
$query->_whereTables['civicrm_contribution_soft_creditee_contact'] = 1;
$query->_tables['civicrm_contribution_soft_creditee_contact'] = 1;
$query->_whereTables['civicrm_contribution_soft'] = 1;
$query->_tables['civicrm_contribution_soft'] = 1;
$query->_qill[$grouping][] = ts("%1 %2 - '%3'", [1 => 'Soft Creditee\'s name', 2 => 'LIKE', 3 => $value]);
}
}
}
@ -45,7 +43,6 @@ class CRM_SoftCredit_SoftCreditQueryObject extends CRM_Contact_BAO_Query_Interfa
if ($name == 'civicrm_contribution_soft_creditee_contact') {
return " $side JOIN civicrm_contact civicrm_contact_creditee
ON (civicrm_contribution_soft.contact_id = civicrm_contact_creditee.id)
AND contribution_search_scredit_combined.scredit_id IS NOT NULL
";
}
}