Clean up getMainContributionAmount() function
authorEileen McNaughton <emcnaughton@wikimedia.org>
Thu, 23 Nov 2023 23:40:16 +0000 (12:40 +1300)
committerEileen McNaughton <emcnaughton@wikimedia.org>
Thu, 23 Nov 2023 23:40:55 +0000 (12:40 +1300)
CRM/Contribute/Form/Contribution/Confirm.php
CRM/Contribute/Form/Contribution/Main.php
CRM/Contribute/Form/ContributionBase.php

index eff96666f8ebcfd3978730d50d1493508a7f1cc1..1b385d96490df6c24f2c68a4135aaf8ee37917fc 100644 (file)
@@ -2395,32 +2395,6 @@ class CRM_Contribute_Form_Contribution_Confirm extends CRM_Contribute_Form_Contr
     }
   }
 
-  /**
-   * Get the amount for the main contribution.
-   *
-   * The goal is to expand this function so that all the argy-bargy of figuring out the amount
-   * winds up here as the main spaghetti shrinks.
-   *
-   * If there is a separate membership contribution this is the 'other one'. Otherwise there
-   * is only one.
-   *
-   * @todo - move this to the parent, replace existing (some tests to fight).
-   *
-   * @param $params
-   *
-   * @return float
-   *
-   * @throws \CRM_Core_Exception
-   */
-  protected function getMainContributionAmount($params = []) {
-    $amount = 0;
-    foreach ($this->getMainContributionLineItems() as $lineItem) {
-      // Line total inclusive should really be always set but this is a safe fall back.
-      $amount += $lineItem['line_total_inclusive'] ?? ($lineItem['line_total'] + $lineItem['tax_amount']);
-    }
-    return $amount;
-  }
-
   /**
    * Complete transaction if payment has been processed.
    *
index 19c02e2c636299658f88ca2f6c380dce78834212..5a88a8833f7899d034dfd61331f9c32b8ba48380 100644 (file)
@@ -1263,7 +1263,7 @@ class CRM_Contribute_Form_Contribution_Main extends CRM_Contribute_Form_Contribu
     $params['separate_amount'] = $params['amount'];
     // @todo - stepping through the code indicates that amount is always set before this point so it never matters.
     // Move more of the above into this function...
-    $params['amount'] = $this->getMainContributionAmount($params);
+    $params['amount'] = $this->getMainContributionAmount();
     //If the membership & contribution is used in contribution page & not separate payment
     $memPresent = $membershipLabel = $fieldOption = NULL;
     $proceFieldAmount = 0;
index a4658fc71c4fa6fb5c89fe5d32d6cff178c78f6d..2342dd3d79e6f73cc2db66f3e4435242537bc408 100644 (file)
@@ -1109,25 +1109,20 @@ class CRM_Contribute_Form_ContributionBase extends CRM_Core_Form {
   /**
    * Get the amount for the main contribution.
    *
-   * The goal is to expand this function so that all the argy-bargy of figuring out the amount
-   * winds up here as the main spaghetti shrinks.
-   *
    * If there is a separate membership contribution this is the 'other one'. Otherwise there
    * is only one.
    *
-   * @param $params
-   *
    * @return float
    *
    * @throws \CRM_Core_Exception
    */
-  protected function getMainContributionAmount($params) {
-    if (!empty($params['selectMembership'])) {
-      if (empty($params['amount']) && !$this->_separateMembershipPayment) {
-        return CRM_Member_BAO_MembershipType::getMembershipType($params['selectMembership'])['minimum_fee'] ?? 0;
-      }
+  protected function getMainContributionAmount(): float {
+    $amount = 0;
+    foreach ($this->getMainContributionLineItems() as $lineItem) {
+      // Line total inclusive should really be always set but this is a safe fall back.
+      $amount += $lineItem['line_total_inclusive'] ?? ($lineItem['line_total'] + $lineItem['tax_amount']);
     }
-    return $params['amount'] ?? 0;
+    return $amount;
   }
 
   /**