diff --git a/core/modules/migrate_drupal_ui/css/components/upgrade-analysis-report-tables.css b/core/modules/migrate_drupal_ui/css/components/upgrade-analysis-report-tables.css
index f15ff6a..1de1a1e 100644
--- a/core/modules/migrate_drupal_ui/css/components/upgrade-analysis-report-tables.css
+++ b/core/modules/migrate_drupal_ui/css/components/upgrade-analysis-report-tables.css
@@ -18,3 +18,6 @@
.upgrade-analysis-report__status-icon--checked:before {
background-image: url(../../../../misc/icons/73b355/check.svg);
}
+.upgrade-analysis-report__status-icon--error:before {
+ background-image: url(../../../../misc/icons/e32700/error.svg);
+}
diff --git a/core/modules/migrate_drupal_ui/migrate_drupal_ui.module b/core/modules/migrate_drupal_ui/migrate_drupal_ui.module
index 5f06cdc..1b36baf 100644
--- a/core/modules/migrate_drupal_ui/migrate_drupal_ui.module
+++ b/core/modules/migrate_drupal_ui/migrate_drupal_ui.module
@@ -26,7 +26,7 @@ function migrate_drupal_ui_help($route_name, RouteMatchInterface $route_match) {
$output .= '
' . t('On the Upgrade page, you are guided through performing the upgrade in several steps.',
[':upgrade' => \Drupal::url('migrate_drupal_ui.upgrade')]) . '';
$output .= '- ' . t('You need to enter the database credentials of the Drupal site that you want to upgrade. You can also include its files directory in the upgrade.') . '
';
- $output .= '- ' . t('The next page then provides an overview of which upgrade paths are available or missing, before you proceed to perform the upgrade.') . '
';
+ $output .= '- ' . t('The next page then provides an overview of the modules that will be upgraded and those that will not be upgraded, before you proceed to perform the upgrade.') . '
';
$output .= '- ' . t('Lastly, a message is displayed about the number of upgrade tasks that were successful or failed.') . '
';
$output .= '' . t('Reviewing the upgrade log') . '';
$output .= '' . t('You can review a log of upgrade messages by clicking the link in the message provided after the upgrade or by filtering the messages for the type migrate_drupal_ui on the Recent log messages page.',
diff --git a/core/modules/migrate_drupal_ui/src/Form/MigrateUpgradeForm.php b/core/modules/migrate_drupal_ui/src/Form/MigrateUpgradeForm.php
index 04da0f5..6d16a22 100644
--- a/core/modules/migrate_drupal_ui/src/Form/MigrateUpgradeForm.php
+++ b/core/modules/migrate_drupal_ui/src/Form/MigrateUpgradeForm.php
@@ -6,6 +6,7 @@
use Drupal\Core\Extension\ModuleHandlerInterface;
use Drupal\Core\Form\ConfirmFormBase;
use Drupal\Core\Form\FormStateInterface;
+use Drupal\Core\Messenger\MessengerInterface;
use Drupal\Core\Render\RendererInterface;
use Drupal\Core\State\StateInterface;
use Drupal\Core\Url;
@@ -27,6 +28,13 @@ class MigrateUpgradeForm extends ConfirmFormBase {
use MigrationConfigurationTrait;
/**
+ * The current form step.
+ *
+ * @var string
+ */
+ protected $step;
+
+ /**
* The state service.
*
* @var \Drupal\Core\State\StateInterface
@@ -69,6 +77,13 @@ class MigrateUpgradeForm extends ConfirmFormBase {
protected $moduleHandler;
/**
+ * The messenger service.
+ *
+ * @var \Drupal\Core\Messenger\MessengerInterface
+ */
+ protected $messenger;
+
+ /**
* List of extensions that do not need an upgrade path.
*
* This property is an array where the keys are the major Drupal core version
@@ -180,13 +195,14 @@ class MigrateUpgradeForm extends ConfirmFormBase {
* @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
* The module handler.
*/
- public function __construct(StateInterface $state, DateFormatterInterface $date_formatter, RendererInterface $renderer, MigrationPluginManagerInterface $plugin_manager, MigrateFieldPluginManagerInterface $field_plugin_manager, ModuleHandlerInterface $module_handler) {
+ public function __construct(StateInterface $state, DateFormatterInterface $date_formatter, RendererInterface $renderer, MigrationPluginManagerInterface $plugin_manager, MigrateFieldPluginManagerInterface $field_plugin_manager, ModuleHandlerInterface $module_handler, MessengerInterface $messenger) {
$this->state = $state;
$this->dateFormatter = $date_formatter;
$this->renderer = $renderer;
$this->pluginManager = $plugin_manager;
$this->fieldPluginManager = $field_plugin_manager;
$this->moduleHandler = $module_handler;
+ $this->messenger = $messenger;
}
/**
@@ -199,7 +215,8 @@ public static function create(ContainerInterface $container) {
$container->get('renderer'),
$container->get('plugin.manager.migration'),
$container->get('plugin.manager.migrate.field'),
- $container->get('module_handler')
+ $container->get('module_handler'),
+ $container->get('messenger')
);
}
@@ -214,8 +231,8 @@ public function getFormId() {
* {@inheritdoc}
*/
public function buildForm(array $form, FormStateInterface $form_state) {
- $step = $form_state->get('step') ?: 'overview';
- switch ($step) {
+ $this->step = $form_state->get('step') ?: 'overview';
+ switch ($this->step) {
case 'overview':
return $this->buildOverviewForm($form, $form_state);
@@ -229,7 +246,7 @@ public function buildForm(array $form, FormStateInterface $form_state) {
return $this->buildConfirmForm($form, $form_state);
default:
- drupal_set_message($this->t('Unrecognized form step @step', ['@step' => $step]), 'error');
+ $this->messenger->addError($this->t('Unrecognized form step @step', ['@step' => $this->step]));
return [];
}
}
@@ -601,7 +618,7 @@ public function buildIdConflictForm(array &$form, FormStateInterface $form_state
return $this->buildForm($form, $form_state);
}
- drupal_set_message($this->t('WARNING: Content may be overwritten on your new site.'), 'warning');
+ $this->messenger->addWarning($this->t('WARNING: Content may be overwritten on your new site.'));
$form = parent::buildForm($form, $form_state);
$form['actions']['submit']['#submit'] = ['::submitConfirmIdConflictForm'];
@@ -742,11 +759,11 @@ public function buildConfirmForm(array $form, FormStateInterface $form_state) {
$migration_id = $migration->getPluginId();
$source_module = $migration->getSourcePlugin()->getSourceModule();
if (!$source_module) {
- drupal_set_message($this->t('Source module not found for @migration_id.', ['@migration_id' => $migration_id]), 'error');
+ $this->messenger->addError($this->t('Source module not found for @migration_id.', ['@migration_id' => $migration_id]));
}
$destination_module = $migration->getDestinationPlugin()->getDestinationModule();
if (!$destination_module) {
- drupal_set_message($this->t('Destination module not found for @migration_id.', ['@migration_id' => $migration_id]), 'error');
+ $this->messenger->addError($this->t('Destination module not found for @migration_id.', ['@migration_id' => $migration_id]));
}
if ($source_module && $destination_module) {
@@ -798,17 +815,17 @@ public function buildConfirmForm(array $form, FormStateInterface $form_state) {
'#title' => [
'#type' => 'html_tag',
'#tag' => 'span',
- '#value' => $this->t('Missing upgrade paths'),
- '#attributes' => ['id' => ['warning']],
+ '#value' => $this->t('Modules that will not be upgraded'),
+ '#attributes' => ['id' => ['error']],
],
- '#description' => $this->t('The following items will not be upgraded. For more information see Upgrading from Drupal 6 or 7 to Drupal 8.', [':migrate' => 'https://www.drupal.org/upgrade/migrate']),
+ '#description' => $this->t('There are no modules installed on your new site to replace these modules. If you proceed with the upgrade now, configuration and/or content needed by these modules will not be available on your new site. For more information, see Review the pre-upgrade analysis in the Upgrading to Drupal 8 handbook.', [':review' => 'https://www.drupal.org/docs/8/upgrade/upgrade-using-web-browser#pre-upgrade-analysis', ':migrate' => 'https://www.drupal.org/docs/8/upgrade']),
'#weight' => 2,
];
$missing_module_list['module_list'] = [
'#type' => 'table',
'#header' => [
- $this->t('Source module: Drupal @version', ['@version' => $version]),
- $this->t('Upgrade module: Drupal 8'),
+ $this->t('Drupal @version', ['@version' => $version]),
+ $this->t('Drupal 8'),
],
];
$missing_count = 0;
@@ -824,21 +841,22 @@ public function buildConfirmForm(array $form, FormStateInterface $form_state) {
'#attributes' => [
'class' => [
'upgrade-analysis-report__status-icon',
- 'upgrade-analysis-report__status-icon--warning',
+ 'upgrade-analysis-report__status-icon--error',
],
],
],
- 'destination_module' => ['#plain_text' => 'Missing'],
+ 'destination_module' => ['#plain_text' => 'Not upgraded'],
];
}
}
+
// Available migrations.
$available_module_list = [
'#type' => 'details',
'#title' => [
'#type' => 'html_tag',
'#tag' => 'span',
- '#value' => $this->t('Available upgrade paths'),
+ '#value' => $this->t('Modules that will be upgraded'),
'#attributes' => ['id' => ['checked']],
],
'#weight' => 3,
@@ -847,8 +865,8 @@ public function buildConfirmForm(array $form, FormStateInterface $form_state) {
$available_module_list['module_list'] = [
'#type' => 'table',
'#header' => [
- $this->t('Source module: Drupal @version', ['@version' => $version]),
- $this->t('Upgrade module: Drupal 8'),
+ $this->t('Drupal @version', ['@version' => $version]),
+ $this->t('Drupal 8'),
],
];
@@ -885,8 +903,8 @@ public function buildConfirmForm(array $form, FormStateInterface $form_state) {
$counters[] = [
'#theme' => 'status_report_counter',
'#amount' => $missing_count,
- '#text' => $this->formatPlural($missing_count, 'Missing upgrade path', 'Missing upgrade paths'),
- '#severity' => 'warning',
+ '#text' => $this->formatPlural($missing_count, 'Module will not be upgraded', 'Modules will not be upgraded'),
+ '#severity' => 'error',
'#weight' => 0,
];
$general_info[] = $missing_module_list;
@@ -895,7 +913,7 @@ public function buildConfirmForm(array $form, FormStateInterface $form_state) {
$counters[] = [
'#theme' => 'status_report_counter',
'#amount' => $available_count,
- '#text' => $this->formatPlural($available_count, 'Available upgrade path', 'Available upgrade paths'),
+ '#text' => $this->formatPlural($available_count, 'Module will be upgraded', 'Modules will be upgraded'),
'#severity' => 'checked',
'#weight' => 1,
];
@@ -960,7 +978,12 @@ protected function getDatabaseTypes() {
* {@inheritdoc}
*/
public function getQuestion() {
- return $this->t('Upgrade analysis report');
+ if ($this->step === 'confirm_id_conflicts') {
+ return $this->t('Upgrade analysis report');
+ }
+ else {
+ return $this->t('What will be upgraded?');
+ }
}
/**
diff --git a/core/modules/migrate_drupal_ui/tests/src/Functional/MigrateUpgradeExecuteTestBase.php b/core/modules/migrate_drupal_ui/tests/src/Functional/MigrateUpgradeExecuteTestBase.php
index cc450ec..4758a5e 100644
--- a/core/modules/migrate_drupal_ui/tests/src/Functional/MigrateUpgradeExecuteTestBase.php
+++ b/core/modules/migrate_drupal_ui/tests/src/Functional/MigrateUpgradeExecuteTestBase.php
@@ -99,7 +99,7 @@ public function testMigrateUpgradeExecute() {
$session->pageTextContains('There is translated content of these types:');
$this->drupalPostForm(NULL, [], t('I acknowledge I may lose data. Continue anyway.'));
$session->statusCodeEquals(200);
- $session->pageTextContains('Upgrade analysis report');
+ $session->pageTextContains('What will be upgraded?');
// Ensure there are no errors about missing modules from the test module.
$session->pageTextNotContains(t('Source module not found for migration_provider_no_annotation.'));
$session->pageTextNotContains(t('Source module not found for migration_provider_test.'));
diff --git a/core/modules/migrate_drupal_ui/tests/src/Functional/MigrateUpgradeTestBase.php b/core/modules/migrate_drupal_ui/tests/src/Functional/MigrateUpgradeTestBase.php
index 8496b11..624a052 100644
--- a/core/modules/migrate_drupal_ui/tests/src/Functional/MigrateUpgradeTestBase.php
+++ b/core/modules/migrate_drupal_ui/tests/src/Functional/MigrateUpgradeTestBase.php
@@ -132,17 +132,17 @@ protected function assertUpgradePaths(WebAssert $session, array $available_paths
// Test the available migration paths.
foreach ($available_paths as $available) {
$session->elementExists('xpath', "//span[contains(@class, 'checked') and text() = '$available']");
- $session->elementNotExists('xpath', "//span[contains(@class, 'warning') and text() = '$available']");
+ $session->elementNotExists('xpath', "//span[contains(@class, 'error') and text() = '$available']");
}
// Test the missing migration paths.
foreach ($missing_paths as $missing) {
- $session->elementExists('xpath', "//span[contains(@class, 'warning') and text() = '$missing']");
+ $session->elementExists('xpath', "//span[contains(@class, 'error') and text() = '$missing']");
$session->elementNotExists('xpath', "//span[contains(@class, 'checked') and text() = '$missing']");
}
// Test the total count of missing and available paths.
- $session->elementsCount('xpath', "//span[contains(@class, 'upgrade-analysis-report__status-icon--warning')]", count($missing_paths));
+ $session->elementsCount('xpath', "//span[contains(@class, 'upgrade-analysis-report__status-icon--error')]", count($missing_paths));
$session->elementsCount('xpath', "//span[contains(@class, 'upgrade-analysis-report__status-icon--checked')]", count($available_paths));
}