Skip to content
Snippets Groups Projects

Issue #3264849: Show next minor or current minor updates in Update form

2 files
+ 40
26
Compare changes
  • Side-by-side
  • Inline
Files
2
+ 39
25
@@ -212,23 +212,6 @@ class UpdaterForm extends FormBase {
default:
$release_status = $this->t('Available update');
}
if ($installed_minor_release) {
$form['drupal-installed-minor'] = $this->getReleaseTable($installed_minor_release, $release_status);
if ($next_minor_release) {
$form['drupal-installed-minor']['#caption'] = $this->t('Current minor update');
}
}
if ($next_minor_release) {
$form['drupal-next-minor'] = $this->getReleaseTable($next_minor_release, $installed_minor_release ? $this->t('Minor update') : $release_status);
if ($installed_minor_release) {
$form['drupal-next-minor']['#caption'] = $this->t('Next minor update');
}
}
$form['backup'] = [
'#markup' => $this->t('It\'s a good idea to <a href=":url">back up your database</a> before you begin.', [':url' => 'https://www.drupal.org/node/22281#s-backing-up-the-database']),
];
if ($form_state->getUserInput()) {
$results = [];
}
@@ -238,6 +221,27 @@ class UpdaterForm extends FormBase {
$results = $event->getResults();
}
$this->displayResults($results, $this->messenger(), $this->renderer);
$enable_updates = $this->getOverallSeverity($results) !== SystemManager::REQUIREMENT_ERROR;
if ($installed_minor_release) {
$form['drupal-installed-minor'] = $this->getReleaseTable(
$installed_minor_release,
$release_status,
$this->t('Current minor update'),
$enable_updates
);
}
if ($next_minor_release) {
$form['drupal-next-minor'] = $this->getReleaseTable(
$next_minor_release,
$installed_minor_release ? $this->t('Minor update') : $release_status,
$installed_minor_release ? $this->t('Next minor update') : NULL,
$enable_updates
);
}
$form['backup'] = [
'#markup' => $this->t('It\'s a good idea to <a href=":url">back up your database</a> before you begin.', [':url' => 'https://www.drupal.org/node/22281#s-backing-up-the-database']),
];
if ($stage_exists) {
// If the form has been submitted, do not display this error message
@@ -316,12 +320,17 @@ class UpdaterForm extends FormBase {
* The project release.
* @param string $release_description
* The release description.
* @param \Drupal\Core\StringTranslation\TranslatableMarkup|null $caption
* The table caption, if any.
* @param bool $enable_updates
* Whether updates are enabled.
*
* @return array
* The table render array.
*/
private function getReleaseTable(ProjectRelease $release, string $release_description): array {
$table = [
private function getReleaseTable(ProjectRelease $release, string $release_description, ?TranslatableMarkup $caption, bool $enable_updates): array {
$release_section = ['#type' => 'container'];
$release_section['table'] = [
'#type' => 'table',
'#description' => $this->t('more'),
'#header' => [
@@ -332,10 +341,12 @@ class UpdaterForm extends FormBase {
'recommended_version' => [
'data' => $this->t('Update version'),
],
'submit' => $this->t('Update'),
],
];
$table[$release->getVersion()] = [
if ($caption) {
$release_section['table']['#caption'] = $caption;
}
$release_section['table'][$release->getVersion()] = [
'title' => [
'#type' => 'html_tag',
'#tag' => 'p',
@@ -355,13 +366,16 @@ class UpdaterForm extends FormBase {
],
],
],
'submit' => [
];
if ($enable_updates) {
$release_section['submit'] = [
'#type' => 'submit',
'#value' => $this->t('Update to @version', ['@version' => $release->getVersion()]),
'#target_version' => $release->getVersion(),
],
];
return $table;
];
}
$release_section['#suffix'] = '<br />';
return $release_section;
}
Loading