Skip to content

Commit

Permalink
Merge pull request #17977 from eileenmcnaughton/custom
Browse files Browse the repository at this point in the history
ensure custom field checkboxes are populated in profiles
  • Loading branch information
eileenmcnaughton authored Jul 27, 2020
2 parents f9b3598 + f1d0451 commit 52ac993
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions CRM/Core/BAO/UFGroup.php
Original file line number Diff line number Diff line change
Expand Up @@ -2326,6 +2326,14 @@ public static function setProfileDefaults(
}
elseif (CRM_Core_BAO_CustomField::getKeyID($name)) {
$defaults[$fldName] = self::formatCustomValue($field, $details[$name]);
if (!$singleProfile && $field['html_type'] === 'CheckBox') {
// For batch update profile there needs to be a key lik
// $defaults['field[166]['custom_8'][2]'] => 1 where
// 166 is the conntact id, 8 is the field id and 2 is the checkbox option.
foreach ($defaults[$fldName] as $itemKey => $itemValue) {
$defaults[$fldName . '[' . $itemKey . ']'] = $itemValue;
}
}
}
else {
$defaults[$fldName] = $details[$name];
Expand Down Expand Up @@ -3585,6 +3593,7 @@ private static function formatCustomValue($field, $value) {
if (CRM_Core_BAO_CustomField::isSerialized($field)) {
$value = CRM_Utils_Array::explodePadded($value);

// This may not be required now.
if ($field['html_type'] === 'CheckBox') {
$checkboxes = [];
foreach (array_filter($value) as $item) {
Expand Down

0 comments on commit 52ac993

Please sign in to comment.