+--------------------------------------------------------------------+
| CiviCRM version 4.7 |
+--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2015 |
+ | Copyright CiviCRM LLC (c) 2004-2016 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
/**
*
* @package CRM
- * @copyright CiviCRM LLC (c) 2004-2015
+ * @copyright CiviCRM LLC (c) 2004-2016
* $Id$
*
*/
'title' => ts('Campaign'),
'operatorType' => CRM_Report_Form::OP_MULTISELECT,
'options' => $this->activeCampaigns,
+ 'type' => CRM_Utils_Type::T_INT,
);
$this->_columns['civicrm_contribution']['order_bys']['campaign_id'] = array('title' => ts('Campaign'));
}
!empty($this->_params['bid_value']))
) {
$this->_from .= "
- LEFT JOIN civicrm_entity_financial_trxn tx ON (tx.entity_id = {$this->_aliases['civicrm_contribution']}.id AND
- tx.entity_table = 'civicrm_contribution')
- LEFT JOIN civicrm_entity_batch {$this->_aliases['civicrm_entity_batch']}
- ON ({$this->_aliases['civicrm_entity_batch']}.entity_id = tx.financial_trxn_id AND
- {$this->_aliases['civicrm_entity_batch']}.entity_table = 'civicrm_financial_trxn')
- LEFT JOIN civicrm_batch {$this->_aliases['civicrm_batch']}
- ON {$this->_aliases['civicrm_batch']}.id = {$this->_aliases['civicrm_entity_batch']}.batch_id";
+ LEFT JOIN (
+ SELECT entity_id, financial_trxn_id
+ FROM civicrm_entity_financial_trxn
+ WHERE entity_table = 'civicrm_contribution'
+ GROUP BY entity_id
+ ) tx ON tx.entity_id = {$this->_aliases['civicrm_contribution']}.id
+ LEFT JOIN civicrm_entity_batch {$this->_aliases['civicrm_entity_batch']}
+ ON ({$this->_aliases['civicrm_entity_batch']}.entity_id = tx.financial_trxn_id
+ AND {$this->_aliases['civicrm_entity_batch']}.entity_table = 'civicrm_financial_trxn')
+ LEFT JOIN civicrm_batch {$this->_aliases['civicrm_batch']}
+ ON {$this->_aliases['civicrm_batch']}.id = {$this->_aliases['civicrm_entity_batch']}.batch_id";
}
}
public function statistics(&$rows) {
$statistics = parent::statistics($rows);
- $totalAmount = $average = array();
+ $totalAmount = $average = $fees = $net = array();
$count = 0;
$select = "
SELECT COUNT({$this->_aliases['civicrm_contribution']}.total_amount ) as count,
SUM( {$this->_aliases['civicrm_contribution']}.total_amount ) as amount,
ROUND(AVG({$this->_aliases['civicrm_contribution']}.total_amount), 2) as avg,
- {$this->_aliases['civicrm_contribution']}.currency as currency
+ {$this->_aliases['civicrm_contribution']}.currency as currency,
+ SUM( {$this->_aliases['civicrm_contribution']}.fee_amount ) as fees,
+ SUM( {$this->_aliases['civicrm_contribution']}.net_amount ) as net
";
$group = "\nGROUP BY {$this->_aliases['civicrm_contribution']}.currency";
$dao = CRM_Core_DAO::executeQuery($sql);
while ($dao->fetch()) {
- $totalAmount[] = CRM_Utils_Money::format($dao->amount, $dao->currency) . " (" .
- $dao->count . ")";
+ $totalAmount[] = CRM_Utils_Money::format($dao->amount, $dao->currency) . " (" . $dao->count . ")";
+ $fees[] = CRM_Utils_Money::format($dao->fees, $dao->currency);
+ $net[] = CRM_Utils_Money::format($dao->net, $dao->currency);
$average[] = CRM_Utils_Money::format($dao->avg, $dao->currency);
$count += $dao->count;
}
'title' => ts('Total Contributions'),
'value' => $count,
);
+ $statistics['counts']['fees'] = array(
+ 'title' => ts('Fees'),
+ 'value' => implode(', ', $fees),
+ 'type' => CRM_Utils_Type::T_STRING,
+ );
+ $statistics['counts']['net'] = array(
+ 'title' => ts('Net'),
+ 'value' => implode(', ', $net),
+ 'type' => CRM_Utils_Type::T_STRING,
+ );
$statistics['counts']['avg'] = array(
'title' => ts('Average'),
'value' => implode(', ', $average),
$this->buildACLClause($this->_aliases['civicrm_contact']);
$this->beginPostProcess();
+ // CRM-18312 - display soft_credits and soft_credits_for column
+ // when 'Contribution or Soft Credit?' column is not selected
+ if (empty($this->_params['fields']['contribution_or_soft'])) {
+ $this->_params['fields']['contribution_or_soft'] = 1;
+ $this->noDisplayContributionOrSoftColumn = TRUE;
+ }
if (CRM_Utils_Array::value('contribution_or_soft_value', $this->_params) ==
'contributions_only' &&
$rows[$rowNum]['civicrm_contribution_soft_credit_for'] = $string;
}
+ // CRM-18312 - hide 'contribution_or_soft' column if unchecked.
+ if (!empty($this->noDisplayContributionOrSoftColumn)) {
+ unset($rows[$rowNum]['civicrm_contribution_contribution_or_soft']);
+ unset($this->_columnHeaders['civicrm_contribution_contribution_or_soft']);
+ }
+
//convert soft_credit_type_id into label
if (array_key_exists('civicrm_contribution_soft_soft_credit_type_id', $rows[$rowNum])) {
$rows[$rowNum]['civicrm_contribution_soft_soft_credit_type_id'] = CRM_Core_PseudoConstant::getLabel(