CRM-18312: Contribution Details Report Soft Credits, Soft Credit for columns
authorjitendrapurohit <jitendra.purohit@webaccessglobal.com>
Fri, 1 Apr 2016 10:06:05 +0000 (15:36 +0530)
committerjitendrapurohit <jitendra.purohit@webaccessglobal.com>
Fri, 1 Apr 2016 10:06:05 +0000 (15:36 +0530)
CRM/Report/Form/Contribute/Detail.php

index 0722974e41096cfe482a330c804c77d14f809f16..79d78c68e00559deac8f2c6ce38d8c5a810ee09f 100644 (file)
@@ -518,7 +518,7 @@ class CRM_Report_Form_Contribute_Detail extends CRM_Report_Form {
                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,
-              SUM( {$this->_aliases['civicrm_contribution']}.fee_amount ) as fees,
+               SUM( {$this->_aliases['civicrm_contribution']}.fee_amount ) as fees,
                SUM( {$this->_aliases['civicrm_contribution']}.net_amount ) as net
         ";
 
@@ -605,6 +605,12 @@ GROUP BY {$this->_aliases['civicrm_contribution']}.currency";
     $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' &&
@@ -873,6 +879,12 @@ WHERE  civicrm_contribution_contribution_id={$row['civicrm_contribution_contribu
         $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(