aggrid-8.x-1.x-dev/src/AggridAccessController.php
src/AggridAccessController.php
<?php
namespace Drupal\aggrid;
use Drupal\Core\Access\AccessResult;
use Drupal\Core\Entity\EntityAccessControlHandler;
use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Session\AccountInterface;
/**
* Defines an access controller for the aggrid configuration entity.
*
* We set this class to be the access controller in ag-Grid's entity annotation.
*
* @see \Drupal\aggrid\Entity\Aggrid
*
* @ingroup aggrid
*/
class AggridAccessController extends EntityAccessControlHandler {
/**
* {@inheritdoc}
*/
public function checkAccess(EntityInterface $entity, $operation, AccountInterface $account) {
if ($operation == 'view') {
return AccessResult::allowed();
}
// Check administer access rule or administer aggrid config entities
// and grant full access to user.
if ($account->hasPermission('administrator') ||
$account->hasPermission('administer aggrid config entities')) {
return AccessResult::allowed();
}
return AccessResult::forbidden();
}
}
