CRM-14969 fix - Array to string conversion in CRM_Utils_Hook::post()
authormonishdeb <monish.deb@webaccessglobal.com>
Fri, 11 Jul 2014 20:52:13 +0000 (02:22 +0530)
committermonishdeb <monish.deb@webaccessglobal.com>
Fri, 11 Jul 2014 20:52:13 +0000 (02:22 +0530)
https://issues.civicrm.org/jira/browse/CRM-14969

api/v3/Generic/Setvalue.php

index be0553354b44757f5411e414676e0118447e6625..7fd4e4035580782084c231d0a41a8c47492e2f17 100644 (file)
@@ -63,13 +63,15 @@ function civicrm_api3_generic_setValue($apiRequest) {
       return civicrm_api3_create_error("Param '$field' is of a type not managed yet (".$def['type']."). Join the API team and help us implement it", array('error_code' => 'NOT_IMPLEMENTED'));
   }
 
-  if (CRM_Core_DAO::setFieldValue(_civicrm_api3_get_DAO($entity), $id, $field, $value)) {
-    $entity = array('id' => $id, $field => $value);
-    CRM_Utils_Hook::post('edit', $entity, $id, $entity);
+  $dao_name = _civicrm_api3_get_DAO($entity);
+  if (CRM_Core_DAO::setFieldValue($dao_name, $id, $field, $value)) {
+    $params = array('id' => $id, $field => $value);
+    $entityDAO = new $dao_name();
+    $entityDAO->copyValues($params);
+    CRM_Utils_Hook::post('edit', $entity, $id, $entityDAO);
     return civicrm_api3_create_success($entity);
   }
   else {
     return civicrm_api3_create_error("error assigning $field=$value for $entity (id=$id)");
   }
 }
-