private function ContentTranslationPermissions::buildBundlePermission in Drupal 10
Same name and namespace in other branches
- 9 core/modules/content_translation/src/ContentTranslationPermissions.php \Drupal\content_translation\ContentTranslationPermissions::buildBundlePermission()
Builds a content translation permission array for a bundle.
Parameters
\Drupal\Core\Entity\EntityTypeInterface $entity_type: The entity type.
string $bundle: The bundle to build the translation permission for.
array $bundle_info: The bundle info.
Return value
array The permission details, keyed by 'title' and 'dependencies'.
File
- core/
modules/ content_translation/ src/ ContentTranslationPermissions.php, line 115
Class
- ContentTranslationPermissions
- Provides dynamic permissions for the content_translation module.
Namespace
Drupal\content_translationCode
private function buildBundlePermission(EntityTypeInterface $entity_type, string $bundle, array $bundle_info) {
$permission = [
'title' => $this
->t('Translate %bundle_label @entity_label', [
'@entity_label' => $entity_type
->getSingularLabel(),
'%bundle_label' => $bundle_info['label'] ?? $bundle,
]),
];
// If the entity type uses bundle entities, add a dependency on the bundle.
$bundle_entity_type = $entity_type
->getBundleEntityType();
if ($bundle_entity_type && ($bundle_entity = $this->entityTypeManager
->getStorage($bundle_entity_type)
->load($bundle))) {
$permission['dependencies'][$bundle_entity
->getConfigDependencyKey()][] = $bundle_entity
->getConfigDependencyName();
}
else {
$permission['dependencies']['module'][] = $entity_type
->getProvider();
}
return $permission;
}