public function EntityTranslationController::getTranslationAccess

Implements EntityTranslationControllerInterface::getTranslationAccess().

Overrides EntityTranslationControllerInterface::getTranslationAccess

1 call to EntityTranslationController::getTranslationAccess()
EntityTranslationController::entityFormAlter in drupal/core/modules/translation_entity/lib/Drupal/translation_entity/EntityTranslationController.php
Implements EntityTranslationControllerInterface::entityFormAlter().

File

drupal/core/modules/translation_entity/lib/Drupal/translation_entity/EntityTranslationController.php, line 103
Definition of Drupal\translation_entity\EntityTranslationController.

Class

EntityTranslationController
Base class for entity translation controllers.

Namespace

Drupal\translation_entity

Code

public function getTranslationAccess(EntityInterface $entity, $op) {

  // @todo Move this logic into a translation access controller checking also
  //   the translation language and the given account.
  $info = $entity
    ->entityInfo();
  $translate_permission = TRUE;

  // If no permission granularity is defined this entity type does not need an
  // explicit translate permission.
  if (!user_access('translate any entity') && !empty($info['permission_granularity'])) {
    $translate_permission = user_access($info['permission_granularity'] == 'bundle' ? "translate {$entity->bundle()} {$entity->entityType()}" : "translate {$entity->entityType()}");
  }
  return $translate_permission && user_access("{$op} entity translations");
}