CRM_16259 CIVI-3 Assigned lineitems proportionally for subsequent payments done on...
authorEdsel <edsel.lopez@jmaconsulting.biz>
Tue, 26 Jan 2016 13:36:51 +0000 (19:06 +0530)
committerEdsel <edsel.lopez@jmaconsulting.biz>
Tue, 16 Feb 2016 07:29:16 +0000 (12:59 +0530)
CRM/Contribute/Form/AdditionalPayment.php

index 2e02e3701f7764e7aa534098f616d77904d3da2c..b6f2464c4b0e09c953c01b044babcfb71353a811 100644 (file)
@@ -383,6 +383,13 @@ class CRM_Contribute_Form_AdditionalPayment extends CRM_Contribute_Form_Abstract
     }
     else {
       $result = CRM_Contribute_BAO_Contribution::recordAdditionalPayment($this->_contributionId, $submittedValues, $this->_paymentType, $participantId);
+      // Fetch the contribution & do proportional line item assignment
+      $params = array('id' => $this->_contributionId);
+      $contribution = CRM_Contribute_BAO_Contribution::retrieve($params, CRM_Core_DAO::$_nullArray, $params);
+      $lineItems = CRM_Price_BAO_LineItem::getLineItemsByContributionID($this->_contributionId);
+      if (!empty($lineItems)) {
+        CRM_Contribute_BAO_Contribution::addPayments($lineItems, array($contribution));
+      }
 
       // email sending
       if (!empty($result) && !empty($submittedValues['is_email_receipt'])) {