From d1335cf6e68876a5e3d1f17c13cc9de00f613c3e Mon Sep 17 00:00:00 2001 From: Daniel Wehner <daniel.wehner@erdfisch.de> Date: Sat, 28 Jul 2012 18:57:50 -0500 Subject: [PATCH] Make the wizard working again --- includes/admin.inc | 2 +- .../Type/{WizardManager.php => WizardPluginManager.php} | 4 ++-- .../views/Plugins/views/wizard/WizardPluginBase.php | 8 +++++++- views.module | 4 ++++ views_ui.module | 3 ++- 5 files changed, 16 insertions(+), 5 deletions(-) rename lib/Drupal/views/Plugins/Type/{WizardManager.php => WizardPluginManager.php} (76%) diff --git a/includes/admin.inc b/includes/admin.inc index 38bb8efe0888..0c83614f5b9a 100644 --- a/includes/admin.inc +++ b/includes/admin.inc @@ -381,7 +381,7 @@ function views_ui_add_form($form, &$form_state) { $wizard_key = $show_form['wizard_key']['#default_value']; views_include_handlers(); - $manager = new WizardManager(); + $manager = views_get_plugin_manager('wizard'); $info = $manager->getDefinition($wizard_key); $wizard_instance = $manager->createInstance($wizard_key, $info); $form = $wizard_instance->build_form($form, $form_state); diff --git a/lib/Drupal/views/Plugins/Type/WizardManager.php b/lib/Drupal/views/Plugins/Type/WizardPluginManager.php similarity index 76% rename from lib/Drupal/views/Plugins/Type/WizardManager.php rename to lib/Drupal/views/Plugins/Type/WizardPluginManager.php index f04e93bfca2f..f480331fdf13 100644 --- a/lib/Drupal/views/Plugins/Type/WizardManager.php +++ b/lib/Drupal/views/Plugins/Type/WizardPluginManager.php @@ -2,7 +2,7 @@ /** * @file - * Definition of Drupal\views\Plugins\Type\WizardManager. + * Definition of Drupal\views\Plugins\Type\WizardPluginManager. */ namespace Drupal\views\Plugins\Type; @@ -11,7 +11,7 @@ use Drupal\Component\Plugin\Factory\DefaultFactory; use Drupal\Core\Plugin\Discovery\AnnotatedClassDiscovery; -class WizardManager extends PluginManagerBase { +class WizardPluginManager extends PluginManagerBase { public function __construct() { $this->discovery = new AnnotatedClassDiscovery('views', 'wizard'); $this->factory = new DefaultFactory($this->discovery); diff --git a/lib/Drupal/views/Plugins/views/wizard/WizardPluginBase.php b/lib/Drupal/views/Plugins/views/wizard/WizardPluginBase.php index c1af643c32da..6c4227d26131 100644 --- a/lib/Drupal/views/Plugins/views/wizard/WizardPluginBase.php +++ b/lib/Drupal/views/Plugins/views/wizard/WizardPluginBase.php @@ -120,7 +120,7 @@ function build_form($form, &$form_state) { '#size' => 5, '#element_validate' => array('views_element_validate_integer'), ); - $form['displays']['page']['options']['pagerz'] = array( + $form['displays']['page']['options']['pager'] = array( '#title' => t('Use a pager'), '#type' => 'checkbox', '#default_value' => TRUE, @@ -431,6 +431,12 @@ protected function build_sorts(&$form, &$form_state) { $sorts += $this->plugin['available_sorts']; } + foreach ($sorts as &$option) { + if (is_object($option)) { + $option = $option->get(); + } + } + // If there is no sorts option available continue. if (!empty($sorts)) { $form['displays']['show']['sort'] = array( diff --git a/views.module b/views.module index cb26fa8844ec..25ee4b18dea4 100644 --- a/views.module +++ b/views.module @@ -27,6 +27,7 @@ use Drupal\views\Plugins\Type\ExposedFormPluginManager; use Drupal\views\Plugins\Type\HandlerPluginManager; use Drupal\views\Plugins\Type\DisplayExtenderPluginManager; +use Drupal\views\Plugins\Type\WizardPluginManager; /** * Advertise the current views api version @@ -1427,6 +1428,9 @@ function views_get_plugin_manager($type) { case 'display_extender': $manager = new DisplayExtenderPluginManager(); break; + case 'wizard': + $manager = new WizardPluginManager(); + break; case 'field': case 'filter': case 'argument': diff --git a/views_ui.module b/views_ui.module index 7d8bb45ffc0d..f271818e4910 100644 --- a/views_ui.module +++ b/views_ui.module @@ -578,7 +578,8 @@ function views_ui_get_wizard($wizard_type) { */ function views_ui_get_wizards() { ctools_include('plugins'); - $wizard_plugins = module_invoke_all('views_wizard'); + $manager = views_get_plugin_manager('wizard'); + $wizard_plugins = $manager->getDefinitions(); $wizard_tables = array(); foreach ($wizard_plugins as $name => $info) { $wizard_tables[$info['base_table']] = TRUE; -- GitLab