$params['max_multiple'] >= '0'
) ? $params['max_multiple'] : 'null' : 'null';
- $tableName = $oldTableName = NULL;
+ $tableName = $tableNameNeedingIndexUpdate = NULL;
if (isset($params['id'])) {
$group->id = $params['id'];
- //check whether custom group was changed from single-valued to multiple-valued
- $isMultiple = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup',
- $params['id'],
- 'is_multiple'
- );
- if ((!empty($params['is_multiple']) || $isMultiple) &&
- ($params['is_multiple'] != $isMultiple)
- ) {
- $oldTableName = CRM_Core_DAO::getFieldValue(
- 'CRM_Core_DAO_CustomGroup',
+ if (isset($params['is_multiple'])) {
+ //check whether custom group was changed from single-valued to multiple-valued
+ $isMultiple = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup',
$params['id'],
- 'table_name'
+ 'is_multiple'
);
+
+ if ($params['is_multiple'] != $isMultiple) {
+ $tableNameNeedingIndexUpdate = CRM_Core_DAO::getFieldValue(
+ 'CRM_Core_DAO_CustomGroup',
+ $params['id'],
+ 'table_name'
+ );
+ }
}
}
else {
// now create the table associated with this group
self::createTable($group);
}
- elseif ($oldTableName) {
- CRM_Core_BAO_SchemaHandler::changeUniqueToIndex($oldTableName, CRM_Utils_Array::value('is_multiple', $params));
+ elseif ($tableNameNeedingIndexUpdate) {
+ CRM_Core_BAO_SchemaHandler::changeUniqueToIndex($tableNameNeedingIndexUpdate, CRM_Utils_Array::value('is_multiple', $params));
}
if (CRM_Utils_Array::value('overrideFKConstraint', $params) == 1) {
'help_post' => 'This is Post Help For Test Group 8',
);
- $customGroup = $this->callAPISuccess('custom_group', 'create', $params);
+ $customGroup = $this->callAPISuccess('CustomGroup', 'create', $params);
$this->assertNotNull($customGroup['id']);
$this->assertEquals($customGroup['values'][$customGroup['id']]['extends'], 'Group');
}
+ /**
+ * Test an empty update does not trigger e-notices when is_multiple has been set.
+ */
+ public function testCustomGroupEmptyUpdate() {
+ $customGroup = $this->callAPISuccess('CustomGroup', 'create', array_merge($this->_params, ['is_multiple' => 1]));
+ $this->callAPISuccess('CustomGroup', 'create', ['id' => $customGroup['id']]);
+ }
+
/**
* Check with Activity - Meeting Type
*/