*/
public function addPhoneFromClause() {
// include address field if address column is to be included
- if ($this->isTableSelected('civicrm_phone')
- ) {
+ if ($this->isTableSelected('civicrm_phone')) {
$this->_from .= "
LEFT JOIN civicrm_phone {$this->_aliases['civicrm_phone']}
ON ({$this->_aliases['civicrm_contact']}.id =
}
}
+ /**
+ * Add Financial Transaction into From Table if required.
+ */
+ public function addFinancialTrxnFromClause() {
+ if ($this->isTableSelected('civicrm_financial_trxn')) {
+ $this->_from .= "
+ LEFT JOIN civicrm_entity_financial_trxn eftcc
+ ON ({$this->_aliases['civicrm_contribution']}.id = eftcc.entity_id AND
+ eftcc.entity_table = 'civicrm_contribution')
+ LEFT JOIN civicrm_financial_trxn {$this->_aliases['civicrm_financial_trxn']}
+ ON {$this->_aliases['civicrm_financial_trxn']}.id = eftcc.financial_trxn_id \n";
+ }
+ }
+
/**
* Get phone columns to add to array.
*
),
'grouping' => 'pcp-fields',
),
+ 'civicrm_financial_trxn' => array(
+ 'dao' => 'CRM_Financial_DAO_FinancialTrxn',
+ 'fields' => array(
+ 'card_type' => array(
+ 'title' => ts('Credit Card Type'),
+ 'dbAlias' => 'GROUP_CONCAT(financial_trxn_civireport.card_type SEPARATOR ",")',
+ ),
+ ),
+ 'filters' => array(
+ 'card_type' => array(
+ 'title' => ts('Credit Card Type'),
+ 'operatorType' => CRM_Report_Form::OP_MULTISELECT,
+ 'options' => CRM_Financial_DAO_FinancialTrxn::buildOptions('card_type'),
+ 'default' => NULL,
+ 'type' => CRM_Utils_Type::T_STRING,
+ ),
+ ),
+ ),
);
parent::__construct();
LEFT JOIN civicrm_contribution_page {$this->_aliases['civicrm_contribution_page']}
ON {$this->_aliases['civicrm_pcp']}.page_id =
{$this->_aliases['civicrm_contribution_page']}.id";
+
+ // for credit card type
+ $this->addFinancialTrxnFromClause();
}
public function groupBy() {
$entryFound = TRUE;
}
+ if (!empty($row['civicrm_financial_trxn_card_type'])) {
+ $rows[$rowNum]['civicrm_financial_trxn_card_type'] = $this->getLabels($row['civicrm_financial_trxn_card_type'], 'CRM_Financial_DAO_FinancialTrxn', 'card_type');
+ $entryFound = TRUE;
+ }
+
if (!$entryFound) {
break;
}