From: deb.monish Date: Tue, 31 Jul 2018 19:47:10 +0000 (+0530) Subject: Customvalue ID is ignored X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=5013100c5b76f331d43710799bbbfc9c46c98a72;p=civicrm-core.git Customvalue ID is ignored --- diff --git a/CRM/Core/BAO/CustomValueTable.php b/CRM/Core/BAO/CustomValueTable.php index 9455b06a4f..73a431065a 100644 --- a/CRM/Core/BAO/CustomValueTable.php +++ b/CRM/Core/BAO/CustomValueTable.php @@ -637,6 +637,10 @@ AND cf.id IN ( $fieldIDList ) 'extends' => $dao->extends, ); + if (!empty($params['id'])) { + $cvParam['id'] = $params['id']; + } + if ($cvParam['type'] == 'File') { $cvParam['file_id'] = $fieldValue['value']; } diff --git a/tests/phpunit/CRM/Core/BAO/CustomValueTableMultipleTest.php b/tests/phpunit/CRM/Core/BAO/CustomValueTableMultipleTest.php index 8d7255a5bd..ad6e0d86bd 100644 --- a/tests/phpunit/CRM/Core/BAO/CustomValueTableMultipleTest.php +++ b/tests/phpunit/CRM/Core/BAO/CustomValueTableMultipleTest.php @@ -35,6 +35,20 @@ class CRM_Core_BAO_CustomValueTableMultipleTest extends CiviUnitTestCase { $this->assertEquals($params["custom_{$customField['id']}_-1"], $result["custom_{$customField['id']}_1"]); $this->assertEquals($params['entityID'], $result['entityID']); + $updateParams = array( + 'id' => 1, + 'entityID' => $contactID, + "custom_{$customField['id']}" => 2, + ); + CRM_Core_BAO_CustomValueTable::setValues($updateParams); + + $criteria = array( + 'id' => 1, + 'entityID' => $contactID, + ); + $result = CRM_Core_BAO_CustomValueTable::getValues($criteria); + $this->assertEquals(2, $result["custom_{$customField['id']}_1"]); + $this->customFieldDelete($customField['id']); $this->customGroupDelete($customGroup['id']); $this->contactDelete($contactID);