diff --git a/public/legacy/include/SugarFields/Fields/Multienum/SugarFieldMultienum.php b/public/legacy/include/SugarFields/Fields/Multienum/SugarFieldMultienum.php index 97871c1d9..a1a847737 100755 --- a/public/legacy/include/SugarFields/Fields/Multienum/SugarFieldMultienum.php +++ b/public/legacy/include/SugarFields/Fields/Multienum/SugarFieldMultienum.php @@ -86,8 +86,10 @@ class SugarFieldMultienum extends SugarFieldEnum public function save(&$bean, $params, $field, $properties, $prefix = '') { if (isset($params[$prefix.$field])) { - if ($params[$prefix.$field][0] === '' && !empty($params[$prefix.$field][1])) { - unset($params[$prefix.$field][0]); + if (is_array($params[$prefix.$field])){ + if ($params[$prefix.$field][0] === '' && !empty($params[$prefix.$field][1])) { + unset($params[$prefix.$field][0]); + } } $bean->$field = encodeMultienumValue($params[$prefix.$field]); diff --git a/public/legacy/include/portability/Services/MassUpdate/MassUpdatePort.php b/public/legacy/include/portability/Services/MassUpdate/MassUpdatePort.php index f03c4599d..31bc81b7a 100644 --- a/public/legacy/include/portability/Services/MassUpdate/MassUpdatePort.php +++ b/public/legacy/include/portability/Services/MassUpdate/MassUpdatePort.php @@ -236,6 +236,21 @@ class MassUpdatePort extends MassUpdate } } + if ($type === 'multienum' && str_contains($value, '^__SugarMassUpdateClearField__^')) { + + if (str_contains($value, '^__SugarMassUpdateClearField__^,')) { + $inputs[$field] = str_replace('^__SugarMassUpdateClearField__^,', '', $value); + continue; + } + + if (str_contains($value, ',^__SugarMassUpdateClearField__^')) { + $inputs[$field] = str_replace(',^__SugarMassUpdateClearField__^', '', $value); + continue; + } + + $inputs[$field] = str_replace('^__SugarMassUpdateClearField__^', '', $value); + } + if ( ($type === 'radioenum' && isset($inputs[$field]) && $value === '') || ($type === 'enum' && $value === '__SugarMassUpdateClearField__') // Set to '' if it's an explicit clear