/** * Checks access to self::select(). * * @return \Drupal\Core\Access\AccessResultInterface * The access result. */ public function access() { $definitions = $this->paymentMethodConfigurationManager->getDefinitions(); unset($definitions['payment_unavailable']); $access_controller = $this->entityManager->getAccessControlHandler('payment_method_configuration'); $access_result = AccessResult::forbidden(); foreach (array_keys($definitions) as $plugin_id) { $access_result = $access_controller->createAccess($plugin_id, $this->currentUser, [], TRUE); if ($access_result->isAllowed()) { return $access_result; } } return $access_result; }