Issue #3096570 by recrit, raman.b, ameymudras, ranjith_kumar_k_u, Oscaner, smustgrave, peterwcm, pameeela: Redirect correct language page after node save
(cherry picked from commit 6c01bb3191
)
merge-requests/11210/head
parent
045cc0e43f
commit
f86f182a98
|
@ -119,12 +119,12 @@ class ImageOnTranslatedEntityTest extends ImageFieldTestBase {
|
|||
$this->submitForm($edit, 'Save (this translation)');
|
||||
// This inspects the HTML after the post of the translation, the image
|
||||
// should be displayed on the original node.
|
||||
$this->assertSession()->responseContains('alt="Lost in translation image"');
|
||||
$this->assertSession()->responseContains('title="Lost in translation image title"');
|
||||
$second_fid = $this->getLastFileId();
|
||||
// View the translated node.
|
||||
$this->drupalGet('fr/node/' . $default_language_node->id());
|
||||
$this->assertSession()->responseContains('alt="Scarlett Johansson image"');
|
||||
$this->assertSession()->responseContains('title="Scarlett Johansson image title"');
|
||||
$second_fid = $this->getLastFileId();
|
||||
// View the untranslated node.
|
||||
$this->drupalGet('node/' . $default_language_node->id());
|
||||
$this->assertSession()->responseContains('alt="Lost in translation image"');
|
||||
|
||||
\Drupal::entityTypeManager()->getStorage('file')->resetCache();
|
||||
|
||||
|
@ -159,12 +159,12 @@ class ImageOnTranslatedEntityTest extends ImageFieldTestBase {
|
|||
$this->assertTrue($file->isPermanent(), 'First file still exists and is permanent.');
|
||||
// This inspects the HTML after the post of the translation, the image
|
||||
// should be displayed on the original node.
|
||||
$this->assertSession()->responseContains('alt="Lost in translation image"');
|
||||
$this->assertSession()->responseContains('title="Lost in translation image title"');
|
||||
// View the translated node.
|
||||
$this->drupalGet('nl/node/' . $default_language_node->id());
|
||||
$this->assertSession()->responseContains('alt="Ada Lovelace image"');
|
||||
$this->assertSession()->responseContains('title="Ada Lovelace image title"');
|
||||
// View untranslated node.
|
||||
$this->drupalGet('node/' . $default_language_node->id());
|
||||
$this->assertSession()->responseContains('alt="Lost in translation image"');
|
||||
$this->assertSession()->responseContains('title="Lost in translation image title"');
|
||||
|
||||
// Ensure the file status of the second file is permanent.
|
||||
$file = File::load($second_fid);
|
||||
|
|
|
@ -298,7 +298,8 @@ class NodeForm extends ContentEntityForm {
|
|||
if ($node->access('view')) {
|
||||
$form_state->setRedirect(
|
||||
'entity.node.canonical',
|
||||
['node' => $node->id()]
|
||||
['node' => $node->id()],
|
||||
['language' => $node->language()]
|
||||
);
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -675,4 +675,31 @@ class NodeTranslationUITest extends ContentTranslationUITestBase {
|
|||
$this->assertSession()->pageTextNotContains('First rev fr title');
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests redirection after saving translation.
|
||||
*/
|
||||
public function testRedirect(): void {
|
||||
$this->drupalLogin($this->administrator);
|
||||
|
||||
$article = $this->drupalCreateNode(['type' => 'article', 'langcode' => $this->langcodes[0]]);
|
||||
|
||||
$edit = [
|
||||
'title[0][value]' => 'English node title',
|
||||
];
|
||||
$this->drupalGet('node/' . $article->id() . '/edit');
|
||||
$this->submitForm($edit, 'Save');
|
||||
|
||||
$this->assertSession()->pageTextContains('English node title');
|
||||
$this->assertEquals($this->baseUrl . '/node/' . $article->id(), $this->getSession()->getCurrentUrl());
|
||||
|
||||
$this->drupalGet('node/' . $article->id() . '/translations/add/' . $this->langcodes[0] . '/' . $this->langcodes[1]);
|
||||
$edit = [
|
||||
'title[0][value]' => 'Italian node title',
|
||||
];
|
||||
$this->submitForm($edit, 'Save (this translation)');
|
||||
|
||||
$this->assertSession()->pageTextContains('Italian node title');
|
||||
$this->assertEquals($this->baseUrl . '/' . $this->langcodes[1] . '/node/' . $article->id(), $this->getSession()->getCurrentUrl());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue