You are here

function hs_taxonomy_views_common_config_form_submit in Hierarchical Select 6.3

Same name and namespace in other branches
  1. 5.3 modules/hs_taxonomy_views.module \hs_taxonomy_views_common_config_form_submit()

Additional submit callback to redirect the user to the "Edit view" form.

1 string reference to 'hs_taxonomy_views_common_config_form_submit'
hs_taxonomy_views_config_form in modules/hs_taxonomy_views.module
Form definition; configuration form for Hierarchical Select as the widget for a Taxonomy filter.

File

modules/hs_taxonomy_views.module, line 356
Implementation of the Hierarchical Select API for the Taxonomy module's Views exposed filters.

Code

function hs_taxonomy_views_common_config_form_submit($form, &$form_state) {
  require_once drupal_get_path('module', 'hierarchical_select') . '/includes/common.inc';
  $view_name = $form['#custom_submit_data']['view_name'];
  $display_id = $form['#custom_submit_data']['display_id'];
  $filter_id = $form['#custom_submit_data']['filter_id'];
  $view = views_get_view($view_name);
  $config_id = $form_state['values']['hierarchical_select_config']['config_id'];
  $config = hierarchical_select_common_config_get($config_id);

  // Overrides when save_lineage is enabled.
  $new_config = $form_state['values']['hierarchical_select_config'];
  if ($new_config['save_lineage'] == 1 && $config['save_lineage'] != $new_config['save_lineage']) {
    $view->display[$display_id]->display_options['filters'][$filter_id]['operator'] = 'and';
    $view->display[$display_id]->display_options['filters'][$filter_id]['expose']['use_operator'] = 0;
    $view
      ->save();
    views_object_cache_clear('view', $view_name);
    drupal_set_message(t("Because you've enabled the 'Save Lineage' setting, the operator has been set to 'AND' and cannot be changed by the end user."));
  }
}