X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;f=web%2Fcore%2Fmodules%2Flanguage%2Fsrc%2FLanguageAccessControlHandler.php;fp=web%2Fcore%2Fmodules%2Flanguage%2Fsrc%2FLanguageAccessControlHandler.php;h=0a4fb989208787acb668b065e326cce7631b12b5;hb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;hp=0000000000000000000000000000000000000000;hpb=57c063afa3f66b07c4bbddc2d6129a96d90f0aad;p=yaffs-website diff --git a/web/core/modules/language/src/LanguageAccessControlHandler.php b/web/core/modules/language/src/LanguageAccessControlHandler.php new file mode 100644 index 000000000..0a4fb9892 --- /dev/null +++ b/web/core/modules/language/src/LanguageAccessControlHandler.php @@ -0,0 +1,42 @@ +isLocked())->addCacheableDependency($entity) + ->andIf(parent::checkAccess($entity, $operation, $account)); + + case 'delete': + /* @var \Drupal\Core\Language\LanguageInterface $entity */ + return AccessResult::allowedIf(!$entity->isLocked())->addCacheableDependency($entity) + ->andIf(AccessResult::allowedIf(!$entity->isDefault())->addCacheableDependency($entity)) + ->andIf(parent::checkAccess($entity, $operation, $account)); + + default: + // No opinion. + return AccessResult::neutral(); + } + } + +}