Skip to content
Snippets Groups Projects
Unverified Commit 6c01bb31 authored by Alex Pott's avatar Alex Pott
Browse files

Issue #3096570 by recrit, raman.b, ameymudras, ranjith_kumar_k_u, Oscaner,...

Issue #3096570 by recrit, raman.b, ameymudras, ranjith_kumar_k_u, Oscaner, smustgrave, peterwcm, pameeela: Redirect correct language page after node save
parent 9e7842eb
No related branches found
No related tags found
7 merge requests!11197Issue #3506427 by eduardo morales alberti: Remove responsive_image.ajax from hook,!5423Draft: Resolve #3329907 "Test2",!3478Issue #3337882: Deleted menus are not removed from content type config,!2964Issue #2865710 : Dependencies from only one instance of a widget are used in display modes,!10223132456: Fix issue where views instances are emptied before an ajax request is complete,!579Issue #2230909: Simple decimals fail to pass validation,!213Issue #2906496: Give Media a menu item under Content
Pipeline #419028 passed with warnings
Pipeline: drupal

#419055

    Pipeline: drupal

    #419052

      Pipeline: drupal

      #419048

        +4
        ......@@ -119,12 +119,12 @@ public function testSyncedImages(): void {
        $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 @@ public function testSyncedImages(): void {
        $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 @@ public function save(array $form, FormStateInterface $form_state) {
        if ($node->access('view')) {
        $form_state->setRedirect(
        'entity.node.canonical',
        ['node' => $node->id()]
        ['node' => $node->id()],
        ['language' => $node->language()]
        );
        }
        else {
        ......
        ......@@ -668,4 +668,31 @@ public function testSearchIndexRebuildOnTranslationDeletion(): void {
        $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());
        }
        }
        0% Loading or .
        You are about to add 0 people to the discussion. Proceed with caution.
        Please register or to comment