CRM-16367 (back office contribution form) move refactored pledge update function...
authorEileen McNaughton <eileen@fuzion.co.nz>
Fri, 1 May 2015 17:42:49 +0000 (11:42 -0600)
committerEileen McNaughton <eileen@fuzion.co.nz>
Fri, 1 May 2015 17:42:49 +0000 (11:42 -0600)
CRM/Contribute/BAO/Contribution.php
CRM/Contribute/Form/Contribution.php

index 127b17871f68b97cf016935e43a428864d04e6c8..0eb3b8ad32501d0b90986875a87a20fa1c2fe5f2 100644 (file)
@@ -3720,4 +3720,69 @@ WHERE con.id = {$contributionId}
     }
   }
 
+  /**
+   * Update related pledge payment payments.
+   *
+   * @param string $action
+   * @param int $pledgePaymentID
+   * @param int $contributionID
+   * @param bool $adjustTotalAmount
+   * @param float $total_amount
+   * @param float $original_total_amount
+   * @param int $contribution_status_id
+   * @param int $original_contribution_status_id
+   */
+  protected function updateRelatedPledge(
+    $action,
+    $pledgePaymentID,
+    $contributionID,
+    $adjustTotalAmount,
+    $total_amount,
+    $original_total_amount,
+    $contribution_status_id,
+    $original_contribution_status_id
+  ) {
+    if (!$pledgePaymentID || $action & CRM_Core_Action::ADD && !$contributionID) {
+      return;
+    }
+
+    if ($pledgePaymentID) {
+      //store contribution id in payment record.
+      CRM_Core_DAO::setFieldValue('CRM_Pledge_DAO_PledgePayment', $pledgePaymentID, 'contribution_id', $contributionID);
+    }
+    else {
+      $pledgePaymentID = CRM_Core_DAO::getFieldValue('CRM_Pledge_DAO_PledgePayment',
+        $contributionID,
+        'id',
+        'contribution_id'
+      );
+    }
+    $pledgeID = CRM_Core_DAO::getFieldValue('CRM_Pledge_DAO_PledgePayment',
+      $contributionID,
+      'pledge_id',
+      'contribution_id'
+    );
+
+    $updatePledgePaymentStatus = FALSE;
+
+    // If either the status or the amount has changed we update the pledge status.
+    if ($action & CRM_Core_Action::ADD) {
+      $updatePledgePaymentStatus = TRUE;
+    }
+    elseif ($action & CRM_Core_Action::UPDATE && (($original_contribution_status_id != $contribution_status_id) ||
+        ($original_total_amount != $total_amount))
+    ) {
+      $updatePledgePaymentStatus = TRUE;
+    }
+
+    if ($updatePledgePaymentStatus) {
+      CRM_Pledge_BAO_PledgePayment::updatePledgePaymentStatus($pledgeID,
+        array($pledgePaymentID),
+        $contribution_status_id,
+        NULL,
+        $total_amount,
+        $adjustTotalAmount
+      );
+    }
+  }
 }
index 8bda25ee0aa2bbb00d581295f9a927134be50433..e8446484b6a032f909bbe48af8385a4902dea3c3 100644 (file)
@@ -1820,7 +1820,7 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP
         $sendReceipt = CRM_Contribute_Form_AdditionalInfo::emailReceipt($this, $formValues);
       }
 
-      $this->updateRelatedPledge(
+      CRM_Contribute_BAO_Contribution::updateRelatedPledge(
         $action,
         $pledgePaymentID,
         $contribution->id,
@@ -1846,70 +1846,4 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP
     }
   }
 
-  /**
-   * Update related pledge payment payments.
-   *
-   * @param string $action
-   * @param int $pledgePaymentID
-   * @param int $contributionID
-   * @param bool $adjustTotalAmount
-   * @param float $total_amount
-   * @param float $original_total_amount
-   * @param int $contribution_status_id
-   * @param int $original_contribution_status_id
-   */
-  protected function updateRelatedPledge(
-    $action,
-    $pledgePaymentID,
-    $contributionID,
-    $adjustTotalAmount,
-    $total_amount,
-    $original_total_amount,
-    $contribution_status_id,
-    $original_contribution_status_id
-  ) {
-    if (!$pledgePaymentID || $action & CRM_Core_Action::ADD && !$contributionID) {
-      return;
-    }
-
-    if ($pledgePaymentID) {
-      //store contribution id in payment record.
-      CRM_Core_DAO::setFieldValue('CRM_Pledge_DAO_PledgePayment', $pledgePaymentID, 'contribution_id', $contributionID);
-    }
-    else {
-      $pledgePaymentID = CRM_Core_DAO::getFieldValue('CRM_Pledge_DAO_PledgePayment',
-        $contributionID,
-        'id',
-        'contribution_id'
-      );
-    }
-    $pledgeID = CRM_Core_DAO::getFieldValue('CRM_Pledge_DAO_PledgePayment',
-      $contributionID,
-      'pledge_id',
-      'contribution_id'
-    );
-
-    $updatePledgePaymentStatus = FALSE;
-
-    // If either the status or the amount has changed we update the pledge status.
-    if ($action & CRM_Core_Action::ADD) {
-      $updatePledgePaymentStatus = TRUE;
-    }
-    elseif ($action & CRM_Core_Action::UPDATE && (($original_contribution_status_id != $contribution_status_id) ||
-        ($original_total_amount != $total_amount))
-    ) {
-      $updatePledgePaymentStatus = TRUE;
-    }
-
-    if ($updatePledgePaymentStatus) {
-      CRM_Pledge_BAO_PledgePayment::updatePledgePaymentStatus($pledgeID,
-        array($pledgePaymentID),
-        $contribution_status_id,
-        NULL,
-        $total_amount,
-        $adjustTotalAmount
-      );
-    }
-  }
-
 }