Merge pull request #22315 from braders/more-hardcoded-strings-2
[civicrm-core.git] / CRM / Price / BAO / LineItem.php
index 59868a458b308c4eaafb1800f212d013da723dc3..ab096b848d4a81e1cb721a67926512e820b92509 100644 (file)
@@ -33,12 +33,6 @@ class CRM_Price_BAO_LineItem extends CRM_Price_DAO_LineItem {
    */
   public static function create(&$params) {
     $id = $params['id'] ?? NULL;
-    if ($id) {
-      CRM_Utils_Hook::pre('edit', 'LineItem', $id, $params);
-    }
-    else {
-      CRM_Utils_Hook::pre('create', 'LineItem', $id, $params);
-    }
 
     // unset entity table and entity id in $params
     // we never update the entity table and entity id during update mode
@@ -56,6 +50,13 @@ class CRM_Price_BAO_LineItem extends CRM_Price_DAO_LineItem {
       $params['tax_amount'] = self::getTaxAmountForLineItem($params);
     }
 
+    // Call the hooks after tax is set in case hooks wish to alter it.
+    if ($id) {
+      CRM_Utils_Hook::pre('edit', 'LineItem', $id, $params);
+    }
+    else {
+      CRM_Utils_Hook::pre('create', 'LineItem', $id, $params);
+    }
     $lineItemBAO = new CRM_Price_BAO_LineItem();
     $lineItemBAO->copyValues($params);
 
@@ -491,7 +492,7 @@ WHERE li.contribution_id = %1";
    * @param array $params
    *   Form values.
    *
-   * @param string $entityId
+   * @param string[]|null $entityId
    *   Entity id.
    *
    * @param string $entityTable