Remove deprecated cleaning of money in the BAO layer
authoreileen <emcnaughton@wikimedia.org>
Wed, 1 Apr 2020 23:01:00 +0000 (12:01 +1300)
committereileen <emcnaughton@wikimedia.org>
Wed, 1 Apr 2020 23:01:00 +0000 (12:01 +1300)
Any code that  passed dirty money  to the Contribution::create BAO will  have been seeing
deprecation notices  for  some time.  The  supported method is via the  api & v3 api does  the cleaning
whereas  v4 expects it to be pre-cleaned  - perhaps it's time to remove  this & leave it to  the
calling code

CRM/Contribute/BAO/Contribution.php

index 0ff447a0c30284442f46dc858b11ffbd155f50f0..e98ee415c045d0b30de442b9a582f8fa9ce10b46 100644 (file)
@@ -103,30 +103,6 @@ class CRM_Contribute_BAO_Contribution extends CRM_Contribute_DAO_Contribution {
       throw new CRM_Core_Exception($message);
     }
 
-    // first clean up all the money fields
-    $moneyFields = [
-      'total_amount',
-      'net_amount',
-      'fee_amount',
-      'non_deductible_amount',
-    ];
-
-    //if priceset is used, no need to cleanup money
-    if (!empty($params['skipCleanMoney'])) {
-      $moneyFields = [];
-    }
-    else {
-      // @todo put a deprecated here - this should be done in the form layer.
-      $params['skipCleanMoney'] = FALSE;
-      Civi::log()->warning('Deprecated code path. Money should always be clean before it hits the BAO.', array('civi.tag' => 'deprecated'));
-    }
-
-    foreach ($moneyFields as $field) {
-      if (isset($params[$field])) {
-        $params[$field] = CRM_Utils_Rule::cleanMoney($params[$field]);
-      }
-    }
-
     //set defaults in create mode
     if (!$contributionID) {
       CRM_Core_DAO::setCreateDefaults($params, self::getDefaults());