Skip to content
Snippets Groups Projects
Commit bb7677c1 authored by Eric Bremner's avatar Eric Bremner
Browse files

ISTWCMS-5412: fixing permissions for pub ref keywords block

parent 12b494a7
No related branches found
No related tags found
1 merge request!35Feature/istwcms 5412 ebremner bicite dashboard blocks
......@@ -2,10 +2,13 @@
namespace Drupal\uw_dashboard\Plugin\Block;
use Drupal\Core\Access\AccessResult;
use Drupal\Core\Block\BlockBase;
use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
use Drupal\Core\Session\AccountInterface;
use Drupal\node\Plugin\views\filter\Access;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
......@@ -25,6 +28,13 @@ class PublicationAuthorsBlock extends BlockBase implements ContainerFactoryPlugi
*/
protected $entityTypeManager;
/**
* The current user.
*
* @var \Drupal\Core\Session\AccountProxyInterface
*/
protected $currentUser;
/**
* {@inheritdoc}
*/
......@@ -38,7 +48,8 @@ class PublicationAuthorsBlock extends BlockBase implements ContainerFactoryPlugi
$configuration,
$plugin_id,
$plugin_definition,
$container->get('entity_type.manager')
$container->get('entity_type.manager'),
$container->get('current_user')
);
}
......@@ -53,15 +64,19 @@ class PublicationAuthorsBlock extends BlockBase implements ContainerFactoryPlugi
* The plugin implementation definition.
* @param \Drupal\Core\Entity\EntityTypeManagerInterface $entityTypeManager
* Entity type manager.
* @param \Drupal\Core\Session\AccountProxyInterface $currentUser
* The current user.
*/
public function __construct(
array $configuration,
$plugin_id,
$plugin_definition,
EntityTypeManagerInterface $entityTypeManager
EntityTypeManagerInterface $entityTypeManager,
AccountInterface $currentUser
) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->entityTypeManager = $entityTypeManager;
$this->currentUser = $currentUser;
}
/**
......@@ -69,6 +84,13 @@ class PublicationAuthorsBlock extends BlockBase implements ContainerFactoryPlugi
*/
public function build() {
// Add a message if the user does not have access to the block.
if (!$this->currentUser->hasPermission('edit bibcite_keyword')) {
return [
'#markup' => 'You do not have permission to view this block.',
];
}
// Load the view.
/** @var \Drupal\views\ViewExecutable $view */
$view = $this->entityTypeManager
......@@ -120,4 +142,11 @@ class PublicationAuthorsBlock extends BlockBase implements ContainerFactoryPlugi
}
/**
* {@inheritdoc}
*/
protected function blockAccess(AccountInterface $account) {
return AccessResult::allowedIfHasPermission($account, 'edit bibcite_keyword');
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment