protected function PostAccessControlHandler::checkCreateAccess in Open Social 10.3.x
Same name and namespace in other branches
- 8.9 modules/social_features/social_post/src/PostAccessControlHandler.php \Drupal\social_post\PostAccessControlHandler::checkCreateAccess()
- 8 modules/social_features/social_post/src/PostAccessControlHandler.php \Drupal\social_post\PostAccessControlHandler::checkCreateAccess()
- 8.2 modules/social_features/social_post/src/PostAccessControlHandler.php \Drupal\social_post\PostAccessControlHandler::checkCreateAccess()
- 8.3 modules/social_features/social_post/src/PostAccessControlHandler.php \Drupal\social_post\PostAccessControlHandler::checkCreateAccess()
- 8.4 modules/social_features/social_post/src/PostAccessControlHandler.php \Drupal\social_post\PostAccessControlHandler::checkCreateAccess()
- 8.5 modules/social_features/social_post/src/PostAccessControlHandler.php \Drupal\social_post\PostAccessControlHandler::checkCreateAccess()
- 8.6 modules/social_features/social_post/src/PostAccessControlHandler.php \Drupal\social_post\PostAccessControlHandler::checkCreateAccess()
- 8.7 modules/social_features/social_post/src/PostAccessControlHandler.php \Drupal\social_post\PostAccessControlHandler::checkCreateAccess()
- 8.8 modules/social_features/social_post/src/PostAccessControlHandler.php \Drupal\social_post\PostAccessControlHandler::checkCreateAccess()
- 10.0.x modules/social_features/social_post/src/PostAccessControlHandler.php \Drupal\social_post\PostAccessControlHandler::checkCreateAccess()
- 10.1.x modules/social_features/social_post/src/PostAccessControlHandler.php \Drupal\social_post\PostAccessControlHandler::checkCreateAccess()
- 10.2.x modules/social_features/social_post/src/PostAccessControlHandler.php \Drupal\social_post\PostAccessControlHandler::checkCreateAccess()
Performs create access checks.
This method is supposed to be overwritten by extending classes that do their own custom access checking.
Parameters
\Drupal\Core\Session\AccountInterface $account: The user for which to check access.
array $context: An array of key-value pairs to pass additional context when needed.
string|null $entity_bundle: (optional) The bundle of the entity. Required if the entity supports bundles, defaults to NULL otherwise.
Return value
\Drupal\Core\Access\AccessResultInterface The access result.
Overrides EntityAccessControlHandler::checkCreateAccess
File
- modules/
social_features/ social_post/ src/ PostAccessControlHandler.php, line 204
Class
- PostAccessControlHandler
- Access controller for the Post entity.
Namespace
Drupal\social_postCode
protected function checkCreateAccess(AccountInterface $account, array $context, $entity_bundle = NULL) {
// If group context is active.
$group = _social_group_get_current_group();
if ($group instanceof GroupInterface) {
if ($group
->hasPermission('add post entities in group', $account)) {
if ($group
->getGroupType()
->id() === 'public_group') {
$config = \Drupal::config('entity_access_by_field.settings');
if ($config
->get('disable_public_visibility') === 1 && !$account
->hasPermission('override disabled public visibility')) {
return AccessResult::forbidden();
}
}
return AccessResult::allowed();
}
else {
// Not allowed to create posts.
return AccessResult::forbidden();
}
}
// Fallback.
$access = AccessResult::allowedIfHasPermission($account, 'add post entities');
if ($entity_bundle !== NULL) {
return $access
->orIf(AccessResult::allowedIfHasPermission($account, "add {$entity_bundle} post entities"));
}
return $access;
}