protected function SocialGroupTagsBlock::blockAccess in Open Social 8.4
Same name and namespace in other branches
- 8.9 modules/social_features/social_tagging/src/Plugin/Block/SocialGroupTagsBlock.php \Drupal\social_tagging\Plugin\Block\SocialGroupTagsBlock::blockAccess()
- 8.5 modules/social_features/social_tagging/src/Plugin/Block/SocialGroupTagsBlock.php \Drupal\social_tagging\Plugin\Block\SocialGroupTagsBlock::blockAccess()
- 8.6 modules/social_features/social_tagging/src/Plugin/Block/SocialGroupTagsBlock.php \Drupal\social_tagging\Plugin\Block\SocialGroupTagsBlock::blockAccess()
- 8.7 modules/social_features/social_tagging/src/Plugin/Block/SocialGroupTagsBlock.php \Drupal\social_tagging\Plugin\Block\SocialGroupTagsBlock::blockAccess()
- 8.8 modules/social_features/social_tagging/src/Plugin/Block/SocialGroupTagsBlock.php \Drupal\social_tagging\Plugin\Block\SocialGroupTagsBlock::blockAccess()
- 10.3.x modules/social_features/social_tagging/src/Plugin/Block/SocialGroupTagsBlock.php \Drupal\social_tagging\Plugin\Block\SocialGroupTagsBlock::blockAccess()
- 10.0.x modules/social_features/social_tagging/src/Plugin/Block/SocialGroupTagsBlock.php \Drupal\social_tagging\Plugin\Block\SocialGroupTagsBlock::blockAccess()
- 10.1.x modules/social_features/social_tagging/src/Plugin/Block/SocialGroupTagsBlock.php \Drupal\social_tagging\Plugin\Block\SocialGroupTagsBlock::blockAccess()
- 10.2.x modules/social_features/social_tagging/src/Plugin/Block/SocialGroupTagsBlock.php \Drupal\social_tagging\Plugin\Block\SocialGroupTagsBlock::blockAccess()
Logic to display the block in the sidebar.
Overrides BlockPluginTrait::blockAccess
File
- modules/
social_features/ social_tagging/ src/ Plugin/ Block/ SocialGroupTagsBlock.php, line 78
Class
- SocialGroupTagsBlock
- Provides a 'SocialGroupTags' block.
Namespace
Drupal\social_tagging\Plugin\BlockCode
protected function blockAccess(AccountInterface $account) {
// If tagging is off, deny access always.
if (!$this->tagService
->active() || !$this->tagService
->groupActive()) {
return AccessResult::forbidden();
}
// Routes we don't want to display the tag block on.
$ignore_routes = [
'entity.group.join',
'entity.group.leave',
'entity.group.edit_form',
'entity.group.delete_form',
'entity.group_content.collection',
];
// Don't display on group edit.
if (in_array($this->routeMatch
->getRouteName(), $ignore_routes)) {
return AccessResult::forbidden();
}
// Get group from route.
$group = $this->routeMatch
->getParameter('group');
if ($group instanceof Group) {
if ($group
->hasField('social_tagging')) {
if (!empty($group
->get('social_tagging')
->getValue())) {
// We only show the block if the field contains values.
return AccessResult::allowed();
}
}
}
return AccessResult::forbidden();
}