You are here

public function ModalPageService::checkUserHasPermissionOnModal in Modal 5.0.x

Check if the Current User has Permission to Access Modal.

1 call to ModalPageService::checkUserHasPermissionOnModal()
ModalPageService::getModalToShow in src/Service/ModalPageService.php
Get modal to show.

File

src/Service/ModalPageService.php, line 208

Class

ModalPageService
Modal Page Service Class.

Namespace

Drupal\modal_page\Service

Code

public function checkUserHasPermissionOnModal($modal) {
  if (empty($modal
    ->getRoles())) {
    return TRUE;
  }

  /** @var \Drupal\user\Entity\User $user */
  $user = $this->entityTypeManager
    ->getStorage('user')
    ->load($this->currentUser
    ->id());
  if (empty($user) || empty($modal
    ->getRoles())) {
    return FALSE;
  }
  $roles = $modal
    ->getRoles();
  foreach ($roles as $roleId => $role) {
    if (!empty($roleId) && $user
      ->hasRole($roleId)) {
      return TRUE;
    }
  }
  return FALSE;
}