You are here

function views_ui_basic_submit in Views UI: Edit Basic Settings 6

Same name and namespace in other branches
  1. 8 views_ui_basic.module \views_ui_basic_submit()
  2. 7 views_ui_basic.module \views_ui_basic_submit()

Views save/submit handler (overrides Views UI) Redirects afer save.

See also

views_ui_basic_form_alter().

1 string reference to 'views_ui_basic_submit'
views_ui_basic_form_alter in ./views_ui_basic.module
Implements hook_form_alter().

File

./views_ui_basic.module, line 159
views_ui_basic.module User interface to edit basic settings of Views.

Code

function views_ui_basic_submit($form, &$form_state) {

  // Views 3.x config item
  if ($form_state['form_id'] == 'views_ui_config_item_form') {

    // @todo Defaults override
    views_ui_config_item_form_submit($form, $form_state);
  }
  else {
    $display =& $form_state['view']->display[$form_state['display_id']];

    // Do not save as default Views value; instead save field value as "override"
    $display->display_options['defaults'][$form_state['section']] = NULL;
    $display->handler->options['defaults'][$form_state['section']] = NULL;
    $display->handler
      ->options_submit($form, $form_state);
  }
  $form_state['view']
    ->save();
  drupal_set_message(t('The !section has been updated.', array(
    '!section' => str_replace('_', ' ', $form_state['section']),
  )));

  // Clear the views cache.
  cache_clear_all('*', 'cache_views');

  // Clear the page cache.
  cache_clear_all();

  // Remove this view from cache so we can edit it properly.
  views_object_cache_clear('view', $form_state['view']->name);

  // Redirect back to view page or admin page
  if (_views_ui_basic_is_tab()) {
    $menuitem = menu_get_item();
    drupal_goto($menuitem['tab_root']);
  }
  else {
    drupal_goto("admin/content/views_ui_basic");
  }
}