You are here

function oa_core_og_group_ref_views_handler_filter_entityreference_autocomplete::value_form in Open Atrium Core 7.2

File

plugins/views/oa_core_og_group_ref_views_handler_filter_entityreference_autocomplete.inc, line 24
Code to override field to add in auto option.

Class

oa_core_og_group_ref_views_handler_filter_entityreference_autocomplete
@file Code to override field to add in auto option.

Code

function value_form(&$form, &$form_state) {
  $saved_value = $this->value;
  $this->value = array();
  parent::value_form($form, $form_state);
  $field = field_info_field('og_group_ref');
  $value_key = key($field['columns']);

  // Below is mocking what og/select2widget does so it thinks this is a
  // select2 element.
  $type = 'select2widgetajax';
  $required = !empty($form['value']['#required']);
  $instance = _oa_core_get_og_group_ref_mocked_field_instance();
  $settings = $instance['widget']['settings'];
  $id = 'NULL';
  $admin_form = !empty($form_state['form_id']) && $form_state['form_id'] == 'views_ui_config_item_form';
  $autocomplete_path = ($admin_form ? 'oacoreselect2widgetpanes' : 'oacoreselect2widget') . '/ajax/' . $field['field_name'] . '/' . $instance['entity_type'] . '/' . $instance['bundle'] . '/' . $id . '?field_mode=all';
  if (variable_get('oa_core_group_reference_default_current', TRUE)) {
    $entity_labels = is_string($saved_value) ? _oa_core_select2widget_process_entity_labels($saved_value) : array();
    $default_value = $saved_value == OA_SPACE_CURRENT ? OA_SPACE_CURRENT : implode(', ', $entity_labels);
  }
  else {
    $default_value = _oa_core_select2widget_all_label();
  }
  $form['value'] = array(
    '#type' => 'textfield',
    '#default_value' => $default_value,
    '#autocomplete_path' => $autocomplete_path,
    '#element_validate' => array(
      'oa_core_select2widget_entity_validate_field',
    ),
    '#settings' => $instance['widget']['settings'],
    '#process' => array(
      'oa_core_exposed_og_group_ref_fix_cardinality',
      'select2widget_entity_process_callback',
      'ajax_process_form',
    ),
    '#maxlength' => 1024,
    '#init' => $entity_labels,
    '#field_name' => 'og_group_ref',
    '#language' => LANGUAGE_NONE,
    '#bundle' => $instance['bundle'],
    '#entity_type' => 'node',
    '#field' => $field,
    '#field_parents' => array(),
    '#convert_empty_to_current' => variable_get('oa_core_group_reference_default_current', TRUE),
    '#oa_core_select2_set_value' => TRUE,
  ) + $form['value'];
  $form['value']['#settings']['select2widgetajax']['min_char'] = 0;
  $form_state['field'][$form['value']['#field_name']][$form['value']['#language']]['field'] = $field;
}