2 * Implements hook_node_access().
4 function {{ machine_name }}_node_access(\Drupal\node\NodeInterface $node, $op, \Drupal\Core\Session\AccountInterface $account) {
5 $type = $node->bundle();
9 return AccessResult::allowedIfHasPermission($account, 'create ' . $type . ' content');
12 if ($account->hasPermission('edit any ' . $type . ' content', $account)) {
13 return AccessResult::allowed()->cachePerPermissions();
16 return AccessResult::allowedIf($account->hasPermission('edit own ' . $type . ' content', $account) && ($account->id() == $node->getOwnerId()))->cachePerPermissions()->cachePerUser()->addCacheableDependency($node);
20 if ($account->hasPermission('delete any ' . $type . ' content', $account)) {
21 return AccessResult::allowed()->cachePerPermissions();
24 return AccessResult::allowedIf($account->hasPermission('delete own ' . $type . ' content', $account) && ($account->id() == $node->getOwnerId()))->cachePerPermissions()->cachePerUser()->addCacheableDependency($node);
29 return AccessResult::neutral();