namespace Drupal\Tests\content_translation\Functional;
+use Drupal\Core\Entity\ContentEntityInterface;
use Drupal\Core\Entity\Sql\SqlContentEntityStorage;
use Drupal\field\Entity\FieldConfig;
use Drupal\language\Entity\ConfigurableLanguage;
* Returns an array of permissions needed for the administrator.
*/
protected function getAdministratorPermissions() {
- return array_merge($this->getEditorPermissions(), $this->getTranslatorPermissions(), ['administer content translation']);
+ return array_merge($this->getEditorPermissions(), $this->getTranslatorPermissions(), ['administer languages', 'administer content translation']);
}
/**
return $entity->id();
}
+ /**
+ * Returns the edit URL for the specified entity.
+ *
+ * @param \Drupal\Core\Entity\ContentEntityInterface $entity
+ * The entity being edited.
+ *
+ * @return \Drupal\Core\Url
+ * The edit URL.
+ */
+ protected function getEditUrl(ContentEntityInterface $entity) {
+ if ($entity->access('update', $this->loggedInUser)) {
+ $url = $entity->toUrl('edit-form');
+ }
+ else {
+ $url = $entity->toUrl('drupal:content-translation-edit');
+ $url->setRouteParameter('language', $entity->language()->getId());
+ }
+ return $url;
+ }
+
}