You are here

public function RelationsImportSettingsBase::configForm in CRM Core 7

Configuration form for settings plugin.

Overrides CRMCoreDataImportSettings::configForm

1 method overrides RelationsImportSettingsBase::configForm()
RelationsCiviCrmImportSettings::configForm in modules/crm_core_data_import/plugins/settings/RelationsCiviCrmImportSettings.inc
Configuration form for settings plugin.

File

modules/crm_core_data_import/plugins/settings/RelationsImportSettingsBase.inc, line 12
Base relations settings handler for CRM Core Data Import.

Class

RelationsImportSettingsBase
@file Base relations settings handler for CRM Core Data Import.

Code

public function configForm(&$form, &$form_state, $importer, $label) {
  $settings = $importer
    ->getSettings();
  if (!empty($settings['relations']) && empty($form_state['values']['relations'])) {
    $form_state['values']['relations'] = $settings['relations'];
  }
  $state_settings = array(
    'visible' => array(
      ':input[name="relations[enable]"]' => array(
        'checked' => TRUE,
      ),
    ),
  );
  $form['relations'] = array(
    '#type' => 'container',
    '#weight' => -10,
  );
  $form['relations']['title'] = array(
    '#type' => 'item',
    '#title' => $label,
  );
  $form['relations']['enable'] = array(
    '#type' => 'checkbox',
    '#title' => t('Create relationships for data being imported?'),
    '#default_value' => !empty($form_state['values']['relations']['enable']) ? $form_state['values']['relations']['enable'] : FALSE,
  );
  $form['relations']['relation_type'] = array(
    '#type' => 'select',
    '#title' => t('Add relationship'),
    '#options' => $this
      ->getAvailableRelations($settings),
    '#states' => $state_settings,
  );
  $form['relations']['add_relation'] = array(
    '#type' => 'button',
    '#id' => 'add-relation-button',
    '#value' => t('Add'),
    '#states' => $state_settings,
    '#name' => 'add-relation-button',
    '#ajax' => array(
      'callback' => '_crm_core_data_import_relations_callback',
      'method' => 'replace',
      'wrapper' => 'relations-form-fields-wrapper',
    ),
  );
  $form['relations']['fields'] = array(
    '#type' => 'container',
    '#states' => $state_settings,
    '#prefix' => '<div id="relations-form-fields-wrapper">',
    '#suffix' => '</div>',
    '#attributes' => array(
      'class' => array(
        'settings-fieldset-wrapper',
      ),
    ),
  );
  $this
    ->formAttachRelations($form, $form_state, $settings);
}