// Default weight & value
$fieldValues = ['option_group_id' => $this->_gid];
foreach (['weight', 'value'] as $field) {
- if (empty($defaults[$field])) {
+ if (!isset($defaults[$field]) || $defaults[$field] === '') {
$defaults[$field] = CRM_Utils_Weight::getDefaultWeight('CRM_Core_DAO_OptionValue', $fieldValues, $field);
}
}
return;
}
+ $optionGroup = \Civi\Api4\OptionGroup::get(FALSE)
+ ->addWhere('id', '=', $this->_gid)
+ ->execute()->first();
+
$this->applyFilter('__ALL__', 'trim');
$isReserved = FALSE;
['CRM_Core_DAO_OptionValue', $this->_id, $this->_gid, 'value', $this->_domainSpecific]
);
}
- else {
+
+ // Add icon & color if this option group supports it.
+ if ($optionGroup['option_value_fields'] && in_array('icon', $optionGroup['option_value_fields'])) {
$this->add('text', 'icon', ts('Icon'), ['class' => 'crm-icon-picker', 'title' => ts('Choose Icon'), 'allowClear' => TRUE]);
}
-
- if (in_array($this->_gName, ['activity_status', 'case_status'])) {
+ if ($optionGroup['option_value_fields'] && in_array('color', $optionGroup['option_value_fields'])) {
$this->add('color', 'color', ts('Color'));
}