APIv4 - Fix incorrect placement of decodeRows in loop
authorColeman Watts <coleman@civicrm.org>
Thu, 6 Jan 2022 19:26:59 +0000 (14:26 -0500)
committerColeman Watts <coleman@civicrm.org>
Fri, 7 Jan 2022 23:58:34 +0000 (18:58 -0500)
The funciton is designed to loop through all items, so needs to be placed
outside the loop that creates the items.

Civi/Api4/Generic/Traits/DAOActionTrait.php

index 8f00ba7ee0f35b1ccc9ac236e4f8103f1d900f96..02a105a0bafcd02308ea9c7fb10528848b608b1c 100644 (file)
@@ -169,7 +169,6 @@ trait DAOActionTrait {
       }
 
       $result[] = $this->baoToArray($createResult, $item);
-      \CRM_Utils_API_HTMLInputCoder::singleton()->decodeRows($result);
     }
 
     // Use bulk `writeRecords` method if the BAO doesn't have a create or add method
@@ -181,6 +180,7 @@ trait DAOActionTrait {
       }
     }
 
+    \CRM_Utils_API_HTMLInputCoder::singleton()->decodeRows($result);
     FormattingUtil::formatOutputValues($result, $this->entityFields());
     return $result;
   }