'option_group_id' => NULL,
'date_format' => NULL,
'time_format' => NULL,
- 'is_required' => '0',
+ 'is_required' => 0,
+ 'table_name' => 'civicrm_value_custom_group_' . $customGroupID,
+ 'column_name' => $this->getCustomFieldColumnName('country'),
+ 'where' => 'civicrm_value_custom_group_' . $customGroupID . '.' . $this->getCustomFieldColumnName('country'),
+ 'extends_table' => 'civicrm_contact',
+ 'search_table' => 'contact_a',
+ 'serialize' => NULL,
+ 'pseudoconstant' => [
+ 'table' => 'civicrm_country',
+ 'keyColumn' => 'id',
+ 'labelColumn' => 'name',
+ 'nameColumn' => 'iso_code',
+ ],
+ ],
+ $this->getCustomFieldName('multi_country') => [
+ 'name' => $this->getCustomFieldName('multi_country'),
+ 'type' => 1,
+ 'title' => 'Country-multi',
+ 'headerPattern' => '//',
+ 'import' => 1,
+ 'custom_field_id' => $this->getCustomFieldID('multi_country'),
+ 'options_per_line' => NULL,
+ 'text_length' => NULL,
+ 'data_type' => 'Country',
+ 'html_type' => 'Select Country',
+ 'is_search_range' => '0',
+ 'id' => $this->getCustomFieldID('multi_country'),
+ 'label' => 'Country-multi',
+ 'groupTitle' => 'Custom Group',
+ 'default_value' => NULL,
+ 'custom_group_id' => $customGroupID,
+ 'extends' => 'Contact',
+ 'extends_entity_column_value' => NULL,
+ 'extends_entity_column_id' => NULL,
+ 'is_view' => '0',
+ 'is_multiple' => '0',
+ 'option_group_id' => NULL,
+ 'date_format' => NULL,
+ 'time_format' => NULL,
+ 'is_required' => 0,
'table_name' => 'civicrm_value_custom_group_' . $customGroupID,
- 'column_name' => 'country_' . $this->getCustomFieldID('country'),
- 'where' => 'civicrm_value_custom_group_' . $customGroupID . '.country_' . $this->getCustomFieldID('country'),
+ 'column_name' => $this->getCustomFieldColumnName('multi_country'),
+ 'where' => 'civicrm_value_custom_group_' . $customGroupID . '.' . $this->getCustomFieldColumnName('multi_country'),
'extends_table' => 'civicrm_contact',
'search_table' => 'contact_a',
+ 'serialize' => 1,
'pseudoconstant' => [
'table' => 'civicrm_country',
'keyColumn' => 'id',
$this->getCustomFieldName('file') => [
'name' => $this->getCustomFieldName('file'),
'type' => 2,
- 'title' => 'Custom Field',
+ 'title' => 'My file',
'headerPattern' => '//',
'import' => 1,
'custom_field_id' => $this->getCustomFieldID('file'),
'html_type' => 'File',
'is_search_range' => '0',
'id' => $this->getCustomFieldID('file'),
- 'label' => 'Custom Field',
+ 'label' => 'My file',
'groupTitle' => 'Custom Group',
'default_value' => NULL,
'custom_group_id' => $customGroupID,
'option_group_id' => NULL,
'date_format' => NULL,
'time_format' => NULL,
- 'is_required' => '0',
+ 'is_required' => 0,
'table_name' => 'civicrm_value_custom_group_' . $customGroupID,
- 'column_name' => 'custom_field_' . $this->getCustomFieldID('file'),
- 'where' => 'civicrm_value_custom_group_' . $customGroupID . '.custom_field_' . $this->getCustomFieldID('file'),
+ 'column_name' => 'my_file_' . $this->getCustomFieldID('file'),
+ 'where' => 'civicrm_value_custom_group_' . $customGroupID . '.my_file_' . $this->getCustomFieldID('file'),
'extends_table' => 'civicrm_contact',
'search_table' => 'contact_a',
+ 'serialize' => NULL,
],
$this->getCustomFieldName('text') => [
'name' => $this->getCustomFieldName('text'),
'option_group_id' => NULL,
'date_format' => NULL,
'time_format' => NULL,
- 'is_required' => '1',
+ 'is_required' => 0,
'table_name' => 'civicrm_value_custom_group_' . $customGroupID,
'column_name' => 'enter_text_here_' . $this->getCustomFieldID('text'),
'where' => 'civicrm_value_custom_group_' . $customGroupID . '.enter_text_here_' . $this->getCustomFieldID('text'),
'extends_table' => 'civicrm_contact',
'search_table' => 'contact_a',
'maxlength' => 300,
+ 'serialize' => NULL,
],
$this->getCustomFieldName('select_string') => [
'name' => $this->getCustomFieldName('select_string'),
'option_group_id' => $this->callAPISuccessGetValue('CustomField', ['id' => $this->getCustomFieldID('select_string'), 'return' => 'option_group_id']),
'date_format' => NULL,
'time_format' => NULL,
- 'is_required' => '1',
+ 'is_required' => 0,
'table_name' => 'civicrm_value_custom_group_' . $customGroupID,
'column_name' => 'pick_color_' . $this->getCustomFieldID('select_string'),
'where' => 'civicrm_value_custom_group_' . $customGroupID . '.pick_color_' . $this->getCustomFieldID('select_string'),
'extends_table' => 'civicrm_contact',
'search_table' => 'contact_a',
+ 'serialize' => NULL,
'pseudoconstant' => [
'optionGroupName' => $this->callAPISuccessGetValue('CustomField', ['id' => $this->getCustomFieldID('select_string'), 'return' => 'option_group_id.name']),
'optionEditPath' => 'civicrm/admin/options/' . $this->callAPISuccessGetValue('CustomField', ['id' => $this->getCustomFieldID('select_string'), 'return' => 'option_group_id.name']),
'where' => 'civicrm_value_custom_group_' . $customGroupID . '.test_date_' . $this->getCustomFieldID('select_date'),
'extends_table' => 'civicrm_contact',
'search_table' => 'contact_a',
+ 'serialize' => NULL,
],
$this->getCustomFieldName('link') => [
'name' => $this->getCustomFieldName('link'),
'option_group_id' => NULL,
'date_format' => NULL,
'time_format' => NULL,
- 'is_required' => '1',
+ 'is_required' => 0,
'table_name' => 'civicrm_value_custom_group_' . $customGroupID,
'column_name' => 'test_link_' . $this->getCustomFieldID('link'),
'where' => 'civicrm_value_custom_group_' . $customGroupID . '.test_link_' . $this->getCustomFieldID('link'),
'extends_table' => 'civicrm_contact',
'search_table' => 'contact_a',
+ 'serialize' => NULL,
],
$this->getCustomFieldName('int') => [
'name' => $this->getCustomFieldName('int'),
'option_group_id' => NULL,
'date_format' => NULL,
'time_format' => NULL,
- 'is_required' => '1',
+ 'is_required' => 0,
'table_name' => 'civicrm_value_custom_group_' . $customGroupID,
'column_name' => $this->getCustomFieldColumnName('int'),
'where' => 'civicrm_value_custom_group_' . $customGroupID . '.' . $this->getCustomFieldColumnName('int'),
'extends_table' => 'civicrm_contact',
'search_table' => 'contact_a',
+ 'serialize' => NULL,
+ ],
+ $this->getCustomFieldName('contact_reference') => [
+ 'name' => $this->getCustomFieldName('contact_reference'),
+ 'type' => CRM_Utils_Type::T_INT,
+ 'title' => 'Contact reference field',
+ 'headerPattern' => '//',
+ 'import' => 1,
+ 'custom_field_id' => $this->getCustomFieldID('contact_reference'),
+ 'options_per_line' => NULL,
+ 'text_length' => NULL,
+ 'data_type' => 'ContactReference',
+ 'html_type' => 'Autocomplete-Select',
+ 'is_search_range' => '0',
+ 'id' => $this->getCustomFieldID('contact_reference'),
+ 'label' => 'Contact reference field',
+ 'groupTitle' => 'Custom Group',
+ 'default_value' => NULL,
+ 'custom_group_id' => $customGroupID,
+ 'extends' => 'Contact',
+ 'extends_entity_column_value' => NULL,
+ 'extends_entity_column_id' => NULL,
+ 'is_view' => '0',
+ 'is_multiple' => '0',
+ 'option_group_id' => NULL,
+ 'date_format' => NULL,
+ 'time_format' => NULL,
+ 'is_required' => 0,
+ 'table_name' => 'civicrm_value_custom_group_' . $customGroupID,
+ 'column_name' => $this->getCustomFieldColumnName('contact_reference'),
+ 'where' => 'civicrm_value_custom_group_' . $customGroupID . '.' . $this->getCustomFieldColumnName('contact_reference'),
+ 'extends_table' => 'civicrm_contact',
+ 'search_table' => 'contact_a',
+ 'serialize' => NULL,
+ ],
+ $this->getCustomFieldName('state') => [
+ 'name' => $this->getCustomFieldName('state'),
+ 'id' => $this->getCustomFieldID('state'),
+ 'label' => 'State',
+ 'headerPattern' => '//',
+ 'title' => 'State',
+ 'custom_field_id' => $this->getCustomFieldID('state'),
+ 'groupTitle' => 'Custom Group',
+ 'default_value' => NULL,
+ 'custom_group_id' => $customGroupID,
+ 'extends' => 'Contact',
+ 'extends_entity_column_value' => NULL,
+ 'extends_entity_column_id' => NULL,
+ 'is_view' => '0',
+ 'is_multiple' => '0',
+ 'option_group_id' => NULL,
+ 'date_format' => NULL,
+ 'time_format' => NULL,
+ 'is_required' => 0,
+ 'table_name' => 'civicrm_value_custom_group_' . $customGroupID,
+ 'column_name' => $this->getCustomFieldColumnName('state'),
+ 'where' => 'civicrm_value_custom_group_' . $customGroupID . '.' . $this->getCustomFieldColumnName('state'),
+ 'extends_table' => 'civicrm_contact',
+ 'search_table' => 'contact_a',
+ 'serialize' => NULL,
+ 'pseudoconstant' => [
+ 'table' => 'civicrm_state_province',
+ 'keyColumn' => 'id',
+ 'labelColumn' => 'name',
+ ],
+ 'import' => 1,
+ 'data_type' => 'StateProvince',
+ 'type' => 1,
+ 'html_type' => 'Select State/Province',
+ 'text_length' => NULL,
+ 'options_per_line' => NULL,
+ 'is_search_range' => '0',
+ ],
+ $this->getCustomFieldName('multi_state') => [
+ 'id' => $this->getCustomFieldID('multi_state'),
+ 'label' => 'State-multi',
+ 'headerPattern' => '//',
+ 'title' => 'State-multi',
+ 'custom_field_id' => $this->getCustomFieldID('multi_state'),
+ 'groupTitle' => 'Custom Group',
+ 'default_value' => NULL,
+ 'custom_group_id' => $customGroupID,
+ 'extends' => 'Contact',
+ 'extends_entity_column_value' => NULL,
+ 'extends_entity_column_id' => NULL,
+ 'is_view' => '0',
+ 'is_multiple' => '0',
+ 'option_group_id' => NULL,
+ 'date_format' => NULL,
+ 'time_format' => NULL,
+ 'is_required' => 0,
+ 'table_name' => 'civicrm_value_custom_group_' . $customGroupID,
+ 'column_name' => $this->getCustomFieldColumnName('multi_state'),
+ 'where' => 'civicrm_value_custom_group_' . $customGroupID . '.' . $this->getCustomFieldColumnName('multi_state'),
+ 'extends_table' => 'civicrm_contact',
+ 'search_table' => 'contact_a',
+ 'serialize' => 1,
+ 'pseudoconstant' => [
+ 'table' => 'civicrm_state_province',
+ 'keyColumn' => 'id',
+ 'labelColumn' => 'name',
+ ],
+ 'import' => 1,
+ 'data_type' => 'StateProvince',
+ 'name' => $this->getCustomFieldName('multi_state'),
+ 'type' => 1,
+ 'html_type' => 'Select State/Province',
+ 'text_length' => NULL,
+ 'options_per_line' => NULL,
+ 'is_search_range' => '0',
+ ],
+ $this->getCustomFieldName('boolean') => [
+ 'id' => $this->getCustomFieldID('boolean'),
+ 'label' => 'Yes No',
+ 'headerPattern' => '//',
+ 'title' => 'Yes No',
+ 'custom_field_id' => $this->getCustomFieldID('boolean'),
+ 'groupTitle' => 'Custom Group',
+ 'default_value' => NULL,
+ 'custom_group_id' => $customGroupID,
+ 'extends' => 'Contact',
+ 'extends_entity_column_value' => NULL,
+ 'extends_entity_column_id' => NULL,
+ 'is_view' => '0',
+ 'is_multiple' => '0',
+ 'option_group_id' => NULL,
+ 'date_format' => NULL,
+ 'time_format' => NULL,
+ 'is_required' => 0,
+ 'table_name' => 'civicrm_value_custom_group_' . $customGroupID,
+ 'column_name' => $this->getCustomFieldColumnName('boolean'),
+ 'where' => 'civicrm_value_custom_group_' . $customGroupID . '.' . $this->getCustomFieldColumnName('boolean'),
+ 'extends_table' => 'civicrm_contact',
+ 'search_table' => 'contact_a',
+ 'import' => 1,
+ 'data_type' => 'Boolean',
+ 'name' => $this->getCustomFieldName('boolean'),
+ 'type' => 16,
+ 'html_type' => 'Radio',
+ 'text_length' => NULL,
+ 'options_per_line' => NULL,
+ 'is_search_range' => '0',
+ 'serialize' => NULL,
+ 'pseudoconstant' => [
+ 'callback' => 'CRM_Core_SelectValues::boolean',
+ ],
],
];
$this->assertEquals($expected, CRM_Core_BAO_CustomField::getFieldsForImport());