diff --git a/core/modules/layout_builder/src/Form/DiscardLayoutChangesForm.php b/core/modules/layout_builder/src/Form/DiscardLayoutChangesForm.php index 5f49f298a83006d81b66ef7194286d8cff16ba85..5e4f7c250310ae24c484574366e74d254a4a96f1 100644 --- a/core/modules/layout_builder/src/Form/DiscardLayoutChangesForm.php +++ b/core/modules/layout_builder/src/Form/DiscardLayoutChangesForm.php @@ -79,7 +79,7 @@ public function getQuestion() { * {@inheritdoc} */ public function getCancelUrl() { - return $this->sectionStorage->getRedirectUrl(); + return $this->sectionStorage->getLayoutBuilderUrl(); } /** @@ -100,7 +100,7 @@ public function submitForm(array &$form, FormStateInterface $form_state) { $this->messenger->addMessage($this->t('The changes to the layout have been discarded.')); - $form_state->setRedirectUrl($this->getCancelUrl()); + $form_state->setRedirectUrl($this->sectionStorage->getRedirectUrl()); } } diff --git a/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderUiTest.php b/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderUiTest.php index 5929fcb365eb55efa2075a2f4e17e453198ecdd8..7b6e8cb1e4fb8180f1c3e3fe04c232dd66406277 100644 --- a/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderUiTest.php +++ b/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderUiTest.php @@ -94,10 +94,17 @@ public function testUnsavedChangesMessage() { $assert_session = $this->assertSession(); $page = $this->getSession()->getPage(); - // Make and then discard changes. $this->assertModifiedLayout(static::FIELD_UI_PREFIX . '/display/default/layout'); + // Discard then cancel. + $page->pressButton('Discard changes'); + $page->clickLink('Cancel'); + $assert_session->addressEquals(static::FIELD_UI_PREFIX . '/display/default/layout'); + $assert_session->pageTextContainsOnce('You have unsaved changes.'); + + // Discard then confirm. $page->pressButton('Discard changes'); $page->pressButton('Confirm'); + $assert_session->addressEquals(static::FIELD_UI_PREFIX . '/display/default'); $assert_session->pageTextNotContains('You have unsaved changes.'); // Make and then save changes.