}
}
+ /**
+ * Get all labels for credit card type rows in report.
+ *
+ * @param string $creditCardTypes
+ * comma separated option values of option group "credit_card_type".
+ */
+ public function getGroupCreditCardType($creditCardTypes) {
+ $cardTypes = CRM_Core_PseudoConstant::get('CRM_Financial_DAO_FinancialTrxn', 'card_type');
+ $types = explode(',', $creditCardTypes);
+ $labels = array();
+ foreach ($types as $value) {
+ $label = CRM_Utils_Array::value($value, $cardTypes);
+ if (!in_array($label, $labels)) {
+ $labels[] = $label;
+ }
+ }
+ return implode(', ', array_filter($labels));
+ }
+
}
),
),
),
+ '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_Core_PseudoConstant::get('CRM_Financial_DAO_FinancialTrxn', 'card_type'),
+ 'default' => NULL,
+ 'type' => CRM_Utils_Type::T_STRING,
+ ),
+ ),
+ ),
'civicrm_batch' => array(
'dao' => 'CRM_Batch_DAO_EntityBatch',
'grouping' => 'contri-fields',
ON ({$this->_aliases['civicrm_batch']}.entity_id = eft.financial_trxn_id
AND {$this->_aliases['civicrm_batch']}.entity_table = 'civicrm_financial_trxn')";
}
+
+ // for credit card type
+ if ($this->isTableSelected('civicrm_financial_trxn')) {
+ $this->_from .= "\n 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";
+ }
}
/**
$entryFound = TRUE;
}
+ if (!empty($row['civicrm_financial_trxn_card_type'])) {
+ $rows[$rowNum]['civicrm_financial_trxn_card_type'] = $this->getGroupCreditCardType($row['civicrm_financial_trxn_card_type']);
+ $entryFound = TRUE;
+ }
+
// If using campaigns, convert campaign_id to campaign title
if (array_key_exists('civicrm_contribution_campaign_id', $row)) {
if ($value = $row['civicrm_contribution_campaign_id']) {