diff --git a/core/modules/taxonomy/src/TermForm.php b/core/modules/taxonomy/src/TermForm.php index 73f6e4d11e1d61198cce6d76b2774bfda99854bd..c077b5147df550880670307da02250a257b51088 100644 --- a/core/modules/taxonomy/src/TermForm.php +++ b/core/modules/taxonomy/src/TermForm.php @@ -201,6 +201,7 @@ public function save(array $form, FormStateInterface $form_state) { case SAVED_UPDATED: $this->messenger()->addStatus($this->t('Updated term %term.', ['%term' => $view_link])); $this->logger('taxonomy')->notice('Updated term %term.', ['%term' => $term->getName(), 'link' => $edit_link]); + $form_state->setRedirect('entity.taxonomy_term.canonical', ['taxonomy_term' => $term->id()]); break; } diff --git a/core/modules/taxonomy/tests/src/Functional/TermTest.php b/core/modules/taxonomy/tests/src/Functional/TermTest.php index 1804fbf377bfc97b53e0e92583cc59ec5e157c48..0a372887e6404b0aa91f2f4f8a658247fa25fed0 100644 --- a/core/modules/taxonomy/tests/src/Functional/TermTest.php +++ b/core/modules/taxonomy/tests/src/Functional/TermTest.php @@ -348,6 +348,9 @@ public function testTermInterface() { $this->drupalGet('admin/structure/taxonomy/manage/' . $this->vocabulary->id() . '/add'); $this->submitForm($edit, 'Save'); + // Ensure form redirected back to term add page. + $this->assertSession()->addressEquals('admin/structure/taxonomy/manage/' . $this->vocabulary->id() . '/add'); + $terms = \Drupal::entityTypeManager()->getStorage('taxonomy_term')->loadByProperties([ 'name' => $edit['name[0][value]'], ]); @@ -372,6 +375,9 @@ public function testTermInterface() { $this->drupalGet('taxonomy/term/' . $term->id() . '/edit'); $this->submitForm($edit, 'Save'); + // Ensure form redirected back to term view. + $this->assertSession()->addressEquals('taxonomy/term/' . $term->id()); + // Check that the term is still present at admin UI after edit. $this->drupalGet('admin/structure/taxonomy/manage/' . $this->vocabulary->id() . '/overview'); $this->assertSession()->pageTextContains($edit['name[0][value]']);