You are here

class BlockPluginHasSettingsTrayFormAccessCheck in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/settings_tray/src/Access/BlockPluginHasSettingsTrayFormAccessCheck.php \Drupal\settings_tray\Access\BlockPluginHasSettingsTrayFormAccessCheck
  2. 9 core/modules/settings_tray/src/Access/BlockPluginHasSettingsTrayFormAccessCheck.php \Drupal\settings_tray\Access\BlockPluginHasSettingsTrayFormAccessCheck

Determines whether the requested block has a 'settings_tray' form.

@internal

Hierarchy

Expanded class hierarchy of BlockPluginHasSettingsTrayFormAccessCheck

1 file declares its use of BlockPluginHasSettingsTrayFormAccessCheck
BlockPluginHasSettingsTrayFormAccessCheckTest.php in core/modules/settings_tray/tests/src/Unit/Access/BlockPluginHasSettingsTrayFormAccessCheckTest.php
1 string reference to 'BlockPluginHasSettingsTrayFormAccessCheck'
settings_tray.services.yml in core/modules/settings_tray/settings_tray.services.yml
core/modules/settings_tray/settings_tray.services.yml
1 service uses BlockPluginHasSettingsTrayFormAccessCheck
access_check.settings_tray.block.settings_tray_form in core/modules/settings_tray/settings_tray.services.yml
Drupal\settings_tray\Access\BlockPluginHasSettingsTrayFormAccessCheck

File

core/modules/settings_tray/src/Access/BlockPluginHasSettingsTrayFormAccessCheck.php, line 16

Namespace

Drupal\settings_tray\Access
View source
class BlockPluginHasSettingsTrayFormAccessCheck implements AccessInterface {

  /**
   * Checks access for accessing a block's 'settings_tray' form.
   *
   * @param \Drupal\block\BlockInterface $block
   *   The block whose 'settings_tray' form is being accessed.
   *
   * @return \Drupal\Core\Access\AccessResultInterface
   *   The access result.
   */
  public function access(BlockInterface $block) {

    /** @var \Drupal\Core\Block\BlockPluginInterface $block_plugin */
    $block_plugin = $block
      ->getPlugin();
    return $this
      ->accessBlockPlugin($block_plugin);
  }

  /**
   * Checks access for accessing a block plugin's 'settings_tray' form.
   *
   * @param \Drupal\Core\Block\BlockPluginInterface $block_plugin
   *   The block plugin whose 'settings_tray' form is being accessed.
   *
   * @return \Drupal\Core\Access\AccessResultInterface
   *   The access result.
   *
   * @see settings_tray_preprocess_block()
   */
  public function accessBlockPlugin(BlockPluginInterface $block_plugin) {
    return AccessResult::allowedIf($block_plugin instanceof PluginWithFormsInterface && $block_plugin
      ->hasFormClass('settings_tray'));
  }

}

Members

Namesort descending Modifiers Type Description Overrides
BlockPluginHasSettingsTrayFormAccessCheck::access public function Checks access for accessing a block's 'settings_tray' form.
BlockPluginHasSettingsTrayFormAccessCheck::accessBlockPlugin public function Checks access for accessing a block plugin's 'settings_tray' form.