You are here

GrantAuthoredByAccess.php in Override Node Options 8.3

Same filename and directory in other branches
  1. 8.2 src/Access/FieldAccess/GrantAuthoredByAccess.php

File

src/Access/FieldAccess/GrantAuthoredByAccess.php
View source
<?php

namespace Drupal\override_node_options\Access\FieldAccess;

use Drupal\Core\Access\AccessResult;
class GrantAuthoredByAccess extends AbstractFieldAccessOverride implements FieldAccessOverrideInterface {
  public static function access(array &$grants, array $context) {
    self::$context = $context;
    if (self::hasNodeEditPermission() && self::isFieldName('uid')) {
      $bundle = $context['items']
        ->getEntity()
        ->bundle();
      $grants[':default'] = AccessResult::allowedIfHasPermissions($context['account'], [
        "override {$bundle} authored by option",
        'override all authored by option',
      ], 'OR');
    }
  }

}

Classes