Details
- 
    Type:
Bug
 - 
    Status: Done/Fixed
 - 
    Priority:
Trivial
 - 
    Resolution: Duplicate
 - 
    Affects Version/s: 4.3.7
 - 
    Fix Version/s: 4.5
 - 
    Component/s: None
 - 
    Labels:None
 
- 
        Versioning Impact:Patch (backwards-compatible bug fixes)
 - 
        Documentation Required?:None
 - 
        Funding Source:Needs Funding
 
Description
Related: http://issues.civicrm.org/jira/browse/CRM-8131 
http://forum.civicrm.org/index.php?topic=20564.0
I am trying to write checkbox values to the v3 API (contact object).
According to the comments at the top of CustomValue.php:
 // custom_24 is checkbox or multiselect, so pass items as an array
 * 'custom_24' => array('bar', 'baz'),
I tried writing using this code:
 $params['custom_37'] = array("Sjogrens Syndrome","HIV");
however regardless of what values I put in the array, the values were being set to 0 and 1 in the database.
I confirmed that it is using array keys instead of values by trying with:
$params['custom_37'] = array(3=>4,5=>6);
This resulted in 3 and 5 being set in the database.
I tried debugging inside CustomValue.php (function civicrm_api3_custom_value_create) but that function does not seem to get called at all.
For a second I thought that I should be looking somewhere else (i.e. this creates an actual value option for a custom field rather than saving a value), but the nomenclature suggests that "creating" a custom value means creating/updating an object that has a custom field (for example, in api/v3/examples/Contact/CustomFieldCreate.php)
For now I am just using the array keys, but eventually we should correct either the documentation or the code.
Attachments
Issue Links
- has patch in
 - 
                    
CRM-14822 Fix handling for option value checkbox custom fields
-         
 - Done/Fixed
 
 -