public function UserContactImportSettings::formAttachFieldUserContact in CRM Core 7
Attach one reference field to form.
1 call to UserContactImportSettings::formAttachFieldUserContact()
- UserContactImportSettings::formAttachUserContact in modules/
crm_core_data_import/ plugins/ settings/ UserContactImportSettings.inc - Attach reference fields to form.
File
- modules/
crm_core_data_import/ plugins/ settings/ UserContactImportSettings.inc, line 148
Class
Code
public function formAttachFieldUserContact(&$form, &$form_state, $settings, $entity_type, $bundle, $delta, $entity_delta) {
$destination_values = array();
$list = $this
->getMatchMappingEntity('crm_core_contact', 'individual', $settings);
foreach ($list as $key => $item) {
$destination_values[$key] = crm_core_data_import_get_destination_label($item['entity_controller_type'], $item['entity_bundle'], $item['delta']);
}
$form['user_contact']['fields'][$delta] = array(
'#type' => 'fieldset',
'#attributes' => array(
'class' => array(
'settings-fieldset',
),
),
);
$form['user_contact']['fields'][$delta]['label'] = array(
'#type' => 'item',
'#markup' => t('User @delta should be related to contact', array(
'@delta' => $entity_delta,
)),
);
$form['user_contact']['fields'][$delta]['source'] = array(
'#type' => 'value',
'#value' => $entity_type . ':' . $bundle . ':' . $entity_delta,
);
$form['user_contact']['fields'][$delta]['destination'] = array(
'#type' => 'select',
'#options' => $destination_values,
'#default_value' => !empty($form_state['values']['user_contact']['fields'][$delta]['destination']) ? $form_state['values']['user_contact']['fields'][$delta]['destination'] : FALSE,
);
$form['user_contact']['fields'][$delta]['user_type'] = array(
'#type' => 'value',
'#value' => $entity_type . ':' . $bundle . ':' . $entity_delta,
);
$form['user_contact']['fields'][$delta]['remove_field'] = array(
'#type' => 'button',
'#value' => t('Remove'),
'#name' => drupal_html_id('user-contact-settings-remove-button-' . $entity_delta),
'#ajax' => array(
'callback' => '_crm_core_data_import_user_contact_callback',
'method' => 'replace',
'wrapper' => 'user-contact-form-fields-wrapper',
),
);
}