public function RateWidgetBase::canVote in Rate 8.2
Checks whether currentUser is allowed to vote.
Return value
bool True if user is allowed to vote
File
- src/Plugin/ RateWidgetBase.php, line 200 
Class
- RateWidgetBase
- Base class for Rate widget plugins.
Namespace
Drupal\rate\PluginCode
public function canVote($vote, $account = FALSE) {
  if (!$account) {
    $account = $this->account;
  }
  $entity = $this->entityTypeManager
    ->getStorage($vote
    ->getVotedEntityType())
    ->load($vote
    ->getVotedEntityId());
  if (!$entity) {
    return FALSE;
  }
  if ($vote
    ->getVotedEntityType() == 'comment') {
    $perm = 'cast rate vote on ' . $entity
      ->getFieldName() . ' on ' . $entity
      ->getCommentedEntityTypeId() . ' of ' . $entity
      ->getCommentedEntity()
      ->bundle();
  }
  else {
    $perm = 'cast rate vote on ' . $vote
      ->getVotedEntityType() . ' of ' . $entity
      ->bundle();
  }
  $can_vote = $account
    ->hasPermission($perm);
  // Allow modules to implement custom logic for user vote check.
  $this->moduleHandler
    ->invokeAll('rate_can_vote', [
    &$can_vote,
    $vote,
    $entity,
    $account,
  ]);
  return $can_vote;
}