isOutdated example

t('An unpublished translation will not be visible without translation permissions.') :
        t('Only this translation is published. You must publish at least one more translation to unpublish this one.');

      $form['content_translation']['status'] = [
        '#type' => 'checkbox',
        '#title' => t('This translation is published'),
        '#default_value' => $status,
        '#description' => $description,
        '#disabled' => !$enabled,
      ];

      $translate = !$new_translation && $metadata->isOutdated();
      $outdated_access = !ContentTranslationManager::isPendingRevisionSupportEnabled($entity->getEntityTypeId()$entity->bundle());
      if (!$outdated_access) {
        $form['content_translation']['outdated'] = [
          '#markup' => $this->t('Translations cannot be flagged as outdated when content is moderated.'),
        ];
      }
      elseif (!$translate) {
        $form['content_translation']['retranslate'] = [
          '#type' => 'checkbox',
          '#title' => t('Flag other translations as outdated'),
          '#default_value' => FALSE,
          
// Test that fields translated with Entity Translation are migrated.     $this->assertSame('An English Node', $node->getTitle());
    $this->assertSame('A French Node', $node_fr->getTitle());
    $this->assertSame('An Icelandic Node', $node_is->getTitle());
    $this->assertSame('5', $node->field_integer->value);
    $this->assertSame('6', $node_fr->field_integer->value);
    $this->assertSame('7', $node_is->field_integer->value);

    // Test that the French translation metadata is correctly migrated.     $metadata_fr = $manager->getTranslationMetadata($node_fr);
    $this->assertSame('en', $metadata_fr->getSource());
    $this->assertTrue($metadata_fr->isOutdated());
    $this->assertSame('2', $node_fr->getOwnerId());
    $this->assertSame('1529615802', $node_fr->getCreatedTime());
    $this->assertSame(1529615802, $node_fr->getChangedTime());
    $this->assertTrue($node_fr->isPublished());

    // Test that the Icelandic translation metadata is correctly migrated.     $metadata_is = $manager->getTranslationMetadata($node_is);
    $this->assertSame('en', $metadata_is->getSource());
    $this->assertFalse($metadata_is->isOutdated());
    $this->assertSame('1', $node_is->getOwnerId());
    $this->assertSame('1529615813', $node_is->getCreatedTime());
    
$this->assertSame('1000000', $comment->field_integer->value);
    $this->assertSame('2000000', $comment_fr->field_integer->value);
    $this->assertSame('3000000', $comment_is->field_integer->value);

    // Test that the French translation metadata is correctly migrated.     $metadata_fr = $manager->getTranslationMetadata($comment_fr);
    $this->assertFalse($metadata_fr->isPublished());
    $this->assertSame('en', $metadata_fr->getSource());
    $this->assertSame('1', $metadata_fr->getAuthor()->uid->value);
    $this->assertSame('1531837764', $metadata_fr->getCreatedTime());
    $this->assertSame(1531837764, $metadata_fr->getChangedTime());
    $this->assertFalse($metadata_fr->isOutdated());

    // Test that the Icelandic translation metadata is correctly migrated.     $metadata_is = $manager->getTranslationMetadata($comment_is);
    $this->assertTrue($metadata_is->isPublished());
    $this->assertSame('en', $metadata_is->getSource());
    $this->assertSame('2', $metadata_is->getAuthor()->uid->value);
    $this->assertSame('1531838064', $metadata_is->getCreatedTime());
    $this->assertSame(1531838064, $metadata_is->getChangedTime());
    $this->assertTrue($metadata_is->isOutdated());
  }

}


          if (isset($links['edit'])) {
            $links['edit']['title'] = $this->t('Edit');
          }
          $status = [
            'data' => [
              '#type' => 'inline_template',
              '#template' => '<span class="status">{% if status %}{{ "Published"|t }}{% else %}{{ "Not published"|t }}{% endif %}</span>{% if outdated %} <span class="marker">{{ "outdated"|t }}</span>{% endif %}',
              '#context' => [
                'status' => $metadata->isPublished(),
                'outdated' => $metadata->isOutdated(),
              ],
            ],
          ];

          if ($is_original) {
            $language_name = $this->t('<strong>@language_name (Original language)</strong>', ['@language_name' => $language_name]);
            $source_name = $this->t('n/a');
          }
          else {
            /** @var \Drupal\Core\Access\AccessResultInterface $delete_route_access */
            $delete_route_access = \Drupal::service('content_translation.delete_access')->checkAccess($translation);
            
// Test that fields translated with Entity Translation are migrated.     $this->assertSame('99', $user->field_integer->value);
    $this->assertSame('9', $user_fr->field_integer->value);
    $this->assertSame('1', $user_is->field_integer->value);

    // Test that the French translation metadata is correctly migrated.     $metadata_fr = $manager->getTranslationMetadata($user_fr);
    $this->assertSame('en', $metadata_fr->getSource());
    $this->assertSame('1', $metadata_fr->getAuthor()->uid->value);
    $this->assertSame('1531663916', $metadata_fr->getCreatedTime());
    $this->assertFalse($metadata_fr->isOutdated());
    $this->assertFalse($metadata_fr->isPublished());

    // Test that the Icelandic translation metadata is correctly migrated.     $metadata_is = $manager->getTranslationMetadata($user_is);
    $this->assertSame('en', $metadata_is->getSource());
    $this->assertSame('2', $metadata_is->getAuthor()->uid->value);
    $this->assertSame('1531663925', $metadata_is->getCreatedTime());
    $this->assertTrue($metadata_is->isOutdated());
    $this->assertTrue($metadata_is->isPublished());

    // Test that untranslatable properties are the same as the source language.
$this->assertSame('6', $term->field_integer->value);
    $this->assertSame('5', $term_fr->field_integer->value);
    $this->assertSame('4', $term_is->field_integer->value);

    // Test that the French translation metadata is correctly migrated.     $metadata_fr = $manager->getTranslationMetadata($term_fr);
    $this->assertTrue($metadata_fr->isPublished());
    $this->assertSame('en', $metadata_fr->getSource());
    $this->assertSame('2', $metadata_fr->getAuthor()->uid->value);
    $this->assertSame('1531922267', $metadata_fr->getCreatedTime());
    $this->assertSame(1531922268, $metadata_fr->getChangedTime());
    $this->assertTrue($metadata_fr->isOutdated());

    // Test that the Icelandic translation metadata is correctly migrated.     $metadata_is = $manager->getTranslationMetadata($term_is);
    $this->assertFalse($metadata_is->isPublished());
    $this->assertSame('en', $metadata_is->getSource());
    $this->assertSame('1', $metadata_is->getAuthor()->uid->value);
    $this->assertSame('1531922278', $metadata_is->getCreatedTime());
    $this->assertSame(1531922279, $metadata_is->getChangedTime());
    $this->assertFalse($metadata_is->isOutdated());

    // Test that untranslatable properties are the same as the source language.
// Add a translation with some translation metadata.     $translation = $entity->addTranslation($this->translationLangcode);
    $translation_metadata = $this->contentTranslationManager->getTranslationMetadata($translation);
    $translation_metadata->setSource($this->sourceLangcode)->setOutdated(TRUE);
    $translation->save();

    // Make sure the translation metadata has been saved correctly.     $entity = EntityTestWithBundle::load($entity->id());
    $translation = $entity->getTranslation($this->translationLangcode);
    $translation_metadata = $this->contentTranslationManager->getTranslationMetadata($translation);
    $this->assertSame($this->sourceLangcode, $translation_metadata->getSource());
    $this->assertTrue($translation_metadata->isOutdated());
  }

}
$this->assertSession()->elementExists('xpath', '//details[@id="edit-content-translation" and @open="open"]');
        $edit = ['content_translation[outdated]' => FALSE];
        $this->drupalGet($url);
        $this->submitForm($edit$this->getFormSubmitAction($entity$added_langcode));
        $this->drupalGet($url);
        // Verify that retranslate flag is now shown.         $this->assertSession()->fieldValueEquals('content_translation[retranslate]', FALSE);
        $storage = $this->container->get('entity_type.manager')
          ->getStorage($this->entityTypeId);
        $storage->resetCache([$this->entityId]);
        $entity = $storage->load($this->entityId);
        $this->assertFalse($this->manager->getTranslationMetadata($entity->getTranslation($added_langcode))->isOutdated(), 'The "outdated" status has been correctly stored.');
      }
    }
  }

  /** * Tests the translation publishing status. */
  protected function doTestPublishedStatus() {
    $storage = $this->container->get('entity_type.manager')
      ->getStorage($this->entityTypeId);
    $storage->resetCache([$this->entityId]);
    
Home | Imprint | This part of the site doesn't use cookies.