You are here

class Permissions in Payment 8.2

Provides dynamic permissions

Hierarchy

Expanded class hierarchy of Permissions

1 file declares its use of Permissions
PermissionsTest.php in tests/src/Unit/PermissionsTest.php

File

src/Permissions.php, line 14

Namespace

Drupal\payment
View source
class Permissions implements ContainerInjectionInterface {
  use StringTranslationTrait;

  /**
   * The payment method configuration configuration manager.
   *
   * @var \Drupal\Component\Plugin\PluginManagerInterface
   */
  protected $paymentMethodConfigurationManager;

  /**
   * Constructs a new instance.
   *
   * @param \Drupal\Core\StringTranslation\TranslationInterface $string_translation
   * @param \Drupal\Component\Plugin\PluginManagerInterface $payment_method_configuration_manager
   */
  public function __construct(TranslationInterface $string_translation, PluginManagerInterface $payment_method_configuration_manager) {
    $this->paymentMethodConfigurationManager = $payment_method_configuration_manager;
    $this->stringTranslation = $string_translation;
  }

  /**
   * {@inheritdoc}
   */
  public static function create(ContainerInterface $container) {
    return new static($container
      ->get('string_translation'), $container
      ->get('plugin.manager.payment.method_configuration'));
  }

  /**
   * Returns permissions.
   *
   * @return array[]
   *   The structure is the same as that of *.permissions.yml files.
   */
  public function getPermissions() {
    $permissions = [];
    $definitions = $this->paymentMethodConfigurationManager
      ->getDefinitions();
    foreach ($definitions as $plugin_id => $definition) {
      $permissions['payment.payment_method_configuration.create.' . $plugin_id] = array(
        'title' => $this
          ->t('Create %plugin_label payment method configurations', array(
          '%plugin_label' => $definition['label'],
        )),
      );
    }
    return $permissions;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
Permissions::$paymentMethodConfigurationManager protected property The payment method configuration configuration manager.
Permissions::create public static function Instantiates a new instance of this class. Overrides ContainerInjectionInterface::create
Permissions::getPermissions public function Returns permissions.
Permissions::__construct public function Constructs a new instance.
StringTranslationTrait::$stringTranslation protected property The string translation service. 1
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.