Update to drupal 8.0.0-rc1. For more information, see https://www.drupal.org/node/2582663
This commit is contained in:
parent
eb34d130a8
commit
f32e58e4b1
8476 changed files with 211648 additions and 170042 deletions
|
|
@ -24,7 +24,7 @@ class CommentAccessControlHandler extends EntityAccessControlHandler {
|
|||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function checkAccess(EntityInterface $entity, $operation, $langcode, AccountInterface $account) {
|
||||
protected function checkAccess(EntityInterface $entity, $operation, AccountInterface $account) {
|
||||
/** @var \Drupal\comment\CommentInterface|\Drupal\user\EntityOwnerInterface $entity */
|
||||
|
||||
$comment_admin = $account->hasPermission('administer comments');
|
||||
|
|
@ -130,18 +130,14 @@ class CommentAccessControlHandler extends EntityAccessControlHandler {
|
|||
}
|
||||
|
||||
if ($operation == 'view') {
|
||||
$entity = $items ? $items->getEntity() : NULL;
|
||||
// Admins can view any fields except hostname, other users need both the
|
||||
// "access comments" permission and for the comment to be published. The
|
||||
// mail field is hidden from non-admins.
|
||||
$admin_access = AccessResult::allowedIf($account->hasPermission('administer comments') && $field_definition->getName() != 'hostname')
|
||||
->cachePerPermissions();
|
||||
$anonymous_access = AccessResult::allowedIf($account->hasPermission('access comments') && (!$entity || $entity->isPublished()) && !in_array($field_definition->getName(), array('mail', 'hostname'), TRUE))
|
||||
->cachePerPermissions();
|
||||
if ($entity) {
|
||||
$anonymous_access->cacheUntilEntityChanges($entity);
|
||||
// Nobody has access to the hostname.
|
||||
if ($field_definition->getName() == 'hostname') {
|
||||
return AccessResult::forbidden();
|
||||
}
|
||||
// The mail field is hidden from non-admins.
|
||||
if ($field_definition->getName() == 'mail') {
|
||||
return AccessResult::allowedIfHasPermission($account, 'administer comments');
|
||||
}
|
||||
return $admin_access->orIf($anonymous_access);
|
||||
}
|
||||
return parent::checkFieldAccess($operation, $field_definition, $account, $items);
|
||||
}
|
||||
|
|
|
|||
Reference in a new issue