e-notice fix for test
authoreileenmcnaughton <eileen@fuzion.co.nz>
Wed, 6 Jan 2016 08:23:51 +0000 (08:23 +0000)
committereileenmcnaughton <eileen@fuzion.co.nz>
Wed, 6 Jan 2016 08:23:51 +0000 (08:23 +0000)
CRM/Contribute/BAO/Contribution.php
CRM/Core/DAO.php

index 1fa916f38dfbf5725a7f0f63fa5ee3676ee1abe5..e44de0544d9da21b6f88c6a1c277324963b4afcf 100644 (file)
@@ -129,12 +129,17 @@ class CRM_Contribute_BAO_Contribution extends CRM_Contribute_DAO_Contribution {
       }
     }
 
+    //set defaults in create mode
+    if (!$contributionID) {
+      CRM_Core_DAO::setCreateDefaults($params, self::getDefaults());
+    }
+
     //if contribution is created with cancelled or refunded status, add credit note id
     if (!empty($params['contribution_status_id'])) {
       $contributionStatus = CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'name');
 
       if (($params['contribution_status_id'] == array_search('Refunded', $contributionStatus)
-          || $params['contribution_status_id'] == array_search('Cancelled', $contributionStatus))
+        || $params['contribution_status_id'] == array_search('Cancelled', $contributionStatus))
       ) {
         if (empty($params['creditnote_id']) || $params['creditnote_id'] == "null") {
           $params['creditnote_id'] = self::createCreditNoteId();
@@ -144,13 +149,9 @@ class CRM_Contribute_BAO_Contribution extends CRM_Contribute_DAO_Contribution {
     else {
       // Since the fee amount is expecting this (later on) ensure it is always set.
       // It would only not be set for an update where it is unchanged.
-      $params['contribution_status_id'] = civicrm_api3('Contribution', 'getvalue', array('id' => $params['id'], 'return' => 'contribution_status_id'));
+      $params['contribution_status_id'] = civicrm_api3('Contribution', 'getvalue', array('id' => $contributionID, 'return' => 'contribution_status_id'));
     }
 
-    //set defaults in create mode
-    if (!$contributionID) {
-      CRM_Core_DAO::setCreateDefaults($params, self::getDefaults());
-    }
     self::calculateMissingAmountParams($params, $contributionID);
 
     if (!empty($params['payment_instrument_id'])) {
index 065a4685589a2e43dfed975d46b7f8ab75bdcaaa..dd77b7fb238c5f2c9aea3df9a839840fd4607b4a 100644 (file)
@@ -1768,7 +1768,7 @@ SELECT contact_id
    * @param $defaults
    */
   public static function setCreateDefaults(&$params, $defaults) {
-    if (isset($params['id'])) {
+    if (!empty($params['id'])) {
       return;
     }
     foreach ($defaults as $key => $value) {