Add warnings to processAmount
authorEileen McNaughton <emcnaughton@wikimedia.org>
Mon, 4 Dec 2023 01:47:41 +0000 (14:47 +1300)
committerEileen McNaughton <emcnaughton@wikimedia.org>
Mon, 4 Dec 2023 01:47:41 +0000 (14:47 +1300)
CRM/Price/BAO/PriceSet.php

index 9d8d6dd24fc1d33cc9905d4cfecb8f24d3290d8b..22eec5611046f2813b7f2f3b92ee2205ce9c1807 100644 (file)
@@ -646,6 +646,22 @@ WHERE  id = %1";
    *   Line item array to be altered.
    * @param int $priceSetID
    *
+   * @deprecated since 5.69 will be removed around 5.85. This function is still in use but marking deprecated to make it clear that
+   * we are moving away from it. There is no function that has the guaranteed stable signature
+   * that would allow us to support if from outside of core so if using this or the core alternative
+   * from an extension you need to rely on unit tests to keep your code stable. Within core we
+   * already have good test cover on code that calls this.
+   *
+   * The recommended approach within core is something like
+   *
+   * private function initializeOrder(): void {
+   *  $this->order = new CRM_Financial_BAO_Order();
+   *  $this->order->setForm($this);
+   *  $this->order->setPriceSelectionFromUnfilteredInput($this->>getSubmittedValues());
+   * }
+   *
+   * $lineItems = $this->order->getLineItems();
+   *
    * @todo $priceSetID is a pseudoparam for permit override - we should stop passing it where we
    * don't specifically need it & find a better way where we do.
    */