From: Pradeep Nayak Date: Mon, 30 Mar 2015 07:34:28 +0000 (+0530) Subject: --CRM-16198, fix for search builder X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=8fb2257916ba5989176c6f407e45691b685c0018;p=civicrm-core.git --CRM-16198, fix for search builder --- diff --git a/CRM/Contribute/BAO/Query.php b/CRM/Contribute/BAO/Query.php index e6c23aec99..6309279eef 100644 --- a/CRM/Contribute/BAO/Query.php +++ b/CRM/Contribute/BAO/Query.php @@ -317,8 +317,16 @@ class CRM_Contribute_BAO_Query { $query->_where[$grouping][] = CRM_Contact_BAO_Query::buildClause("civicrm_contribution.receipt_date", $op); $query->_tables['civicrm_contribution'] = $query->_whereTables['civicrm_contribution'] = 1; return; - + + case 'financial_type': + case 'contribution_page': + case 'payment_instrument': + case 'contribution_payment_instrument': + case 'contribution_status': + $name .= '_id'; case 'financial_type_id': + case 'payment_instrument_id': + case 'contribution_payment_instrument_id': case 'contribution_page_id': case 'contribution_status_id': case 'contribution_id': @@ -338,6 +346,7 @@ class CRM_Contribute_BAO_Query { 'contribution_source', 'contribution_trxn_id', 'contribution_check_number', + 'contribution_payment_instrument_id', ) ) ) { @@ -359,47 +368,6 @@ class CRM_Contribute_BAO_Query { $query->_tables['civicrm_contribution'] = $query->_whereTables['civicrm_contribution'] = 1; return; - case 'financial_type': - $query->_where[$grouping][] = CRM_Contact_BAO_Query::buildClause($fields[$name]['where'], $op, $value, 'String'); - list($op, $value) = CRM_Contact_BAO_Query::buildQillForFieldValue('CRM_Contribute_DAO_Contribution', $name, $value, $op); - $query->_qill[$grouping][] = ts('%1 %2 %3', array(1 => $fields[$name]['title'], 2 => $op, 3 => $value)); - $query->_tables['civicrm_contribution'] = $query->_whereTables['civicrm_contribution'] = 1; - $query->_tables['civicrm_financial_type'] = $query->_whereTables['civicrm_financial_type'] = 1; - return; - - case 'contribution_page': - $query->_where[$grouping][] = CRM_Contact_BAO_Query::buildClause($fields[$name]['where'], $op, $value, 'String'); - list($op, $value) = CRM_Contact_BAO_Query::buildQillForFieldValue('CRM_Contribute_DAO_Contribution', $name, $value, $op); - $query->_qill[$grouping][] = ts('%1 %2 %3', array(1 => $fields[$name]['title'], 2 => $op, 3 => $value)); - $query->_tables['civicrm_contribution_page'] = $query->_whereTables['civicrm_contribution_page'] = 1; - $query->_tables['civicrm_contribution'] = $query->_whereTables['civicrm_contribution'] = 1; - return; - - case 'contribution_payment_instrument': - case 'contribution_payment_instrument_id': - $name = str_replace('contribution_', '', $name); - case 'payment_instrument': - case 'payment_instrument_id': - if ($name == 'payment_instrument') { - $query->_where[$grouping][] = CRM_Contact_BAO_Query::buildClause("contribution_payment_instrument.label", $op, $value); - } - else { - $query->_where[$grouping][] = CRM_Contact_BAO_Query::buildClause("contribution_payment_instrument.value", $op, $value, 'Int'); - } - list($op, $value) = CRM_Contact_BAO_Query::buildQillForFieldValue('CRM_Contribute_DAO_Contribution', 'payment_instrument_id', $value, $op); - $query->_qill[$grouping][] = ts('%1 %2 %3', array(1 => $fields['payment_instrument']['title'], 2 => $op, 3 => $value)); - $query->_tables['civicrm_contribution'] = $query->_whereTables['civicrm_contribution'] = 1; - $query->_tables['contribution_payment_instrument'] = $query->_whereTables['contribution_payment_instrument'] = 1; - return; - - case 'contribution_status': - $query->_where[$grouping][] = CRM_Contact_BAO_Query::buildClause("$name.label", $op, $value, 'String'); - list($op, $value) = CRM_Contact_BAO_Query::buildQillForFieldValue('CRM_Contribute_DAO_Contribution', $name, $value, $op); - $query->_qill[$grouping][] = ts('%1 %2 %3', array(1 => $fields[$name]['title'], 2 => $op, 3 => $value)); - $query->_tables['civicrm_contribution'] = $query->_whereTables['civicrm_contribution'] = 1; - $query->_tables[$name] = $query->_whereTables[$name] = 1; - break; - case 'contribution_pcp_made_through_id': case 'contribution_soft_credit_type_id': $qillName = $name; diff --git a/xml/schema/Contribute/Contribution.xml b/xml/schema/Contribute/Contribution.xml index 226c85871b..df7f9c0af1 100644 --- a/xml/schema/Contribute/Contribution.xml +++ b/xml/schema/Contribute/Contribution.xml @@ -121,7 +121,7 @@ payment_instrument_id - contribution_payment_instrument_id + payment_instrument_id Payment Instrument ID int unsigned FK to Payment Instrument