You are here

class Basic in Payment 8.2

Same name in this branch
  1. 8.2 src/Plugin/Payment/MethodConfiguration/Basic.php \Drupal\payment\Plugin\Payment\MethodConfiguration\Basic
  2. 8.2 src/Plugin/Payment/Method/Basic.php \Drupal\payment\Plugin\Payment\Method\Basic
  3. 8.2 src/Plugin/Payment/LineItem/Basic.php \Drupal\payment\Plugin\Payment\LineItem\Basic

A basic line item.

Plugins extending this class should provide a configuration schema that extends plugin.plugin_configuration.line_item.payment_basic.

Plugin annotation


@PaymentLineItem(
  id = "payment_basic",
  label = @Translation("Basic")
)

Hierarchy

Expanded class hierarchy of Basic

1 file declares its use of Basic
BasicTest.php in tests/src/Unit/Plugin/Payment/LineItem/BasicTest.php

File

src/Plugin/Payment/LineItem/Basic.php, line 27

Namespace

Drupal\payment\Plugin\Payment\LineItem
View source
class Basic extends PaymentLineItemBase implements ContainerFactoryPluginInterface {

  /**
   * The database connection.
   *
   * @var \Drupal\Core\Database\Connection
   */
  protected $database;

  /**
   * Constructs a new instance.
   *
   * @param mixed[] $configuration
   *   A configuration array containing information about the plugin instance.
   * @param string $plugin_id
   *   The plugin_id for the plugin instance.
   * @param mixed[] $plugin_definition
   *   The plugin implementation definition.
   * @param \Drupal\Core\StringTranslation\TranslationInterface  $string_translation
   *   The translation manager.
   * @param \Drupal\Core\Database\Connection $database
   *   The database connection.
   */
  public function __construct(array $configuration, $plugin_id, array $plugin_definition, TranslationInterface $string_translation, Connection $database) {
    parent::__construct($configuration, $plugin_id, $plugin_definition);
    $this->database = $database;
    $this->stringTranslation = $string_translation;
  }

  /**
   * {@inheritdoc}
   */
  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
    return new static($configuration, $plugin_id, $plugin_definition, $container
      ->get('string_translation'), $container
      ->get('database'));
  }

  /**
   * {@inheritdoc}
   */
  public function defaultConfiguration() {
    return parent::defaultConfiguration() + array(
      'amount' => 0,
      'currency_code' => NULL,
      'description' => NULL,
    );
  }

  /**
   * {@inheritdoc}
   */
  public function setAmount($amount) {
    $this->configuration['amount'] = $amount;
    return $this;
  }

  /**
   * {@inheritdoc}
   */
  public function getAmount() {
    return $this->configuration['amount'];
  }

  /**
   * {@inheritdoc}
   */
  public function getCurrencyCode() {
    return $this->configuration['currency_code'];
  }

  /**
   * {@inheritdoc}
   */
  public function setCurrencyCode($currency_code) {
    $this->configuration['currency_code'] = $currency_code;
    return $this;
  }

  /**
   * {@inheritdoc}
   */
  function getDescription() {
    return $this->configuration['description'];
  }

  /**
   * Sets the line item description.
   *
   * @param string $description
   *
   * @return \Drupal\payment\Plugin\Payment\LineItem\Basic
   */
  function setDescription($description) {
    $this->configuration['description'] = $description;
    return $this;
  }

  /**
   * {@inheritdoc}
   */
  public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
    $elements = array(
      '#input' => TRUE,
      '#tree' => TRUE,
      '#type' => 'container',
    );
    $elements['name'] = array(
      '#type' => 'value',
      '#value' => $this
        ->getName(),
    );
    $elements['amount'] = array(
      '#type' => 'currency_amount',
      '#title' => $this
        ->t('Amount'),
      '#default_value' => array(
        'amount' => $this
          ->getAmount(),
        'currency_code' => $this
          ->getCurrencyCode(),
      ),
      '#required' => TRUE,
    );
    $elements['quantity'] = array(
      '#type' => 'number',
      '#title' => $this
        ->t('Quantity'),
      '#default_value' => $this
        ->getQuantity(),
      '#min' => 1,
      '#size' => 3,
      '#required' => TRUE,
    );
    $elements['description'] = array(
      '#type' => 'textfield',
      '#title' => $this
        ->t('Description'),
      '#default_value' => $this
        ->getDescription(),
      '#required' => TRUE,
      '#maxlength' => 255,
    );
    $elements['clear'] = array(
      '#type' => 'markup',
      '#markup' => '<div class="clear"></div>',
    );
    return $elements;
  }

  /**
   * {@inheritdoc}
   */
  public function submitConfigurationForm(array &$form, FormStateInterface $form_state) {
    $values = $form_state
      ->getValues();
    $values = NestedArray::getValue($values, $form['#parents']);
    $this
      ->setAmount($values['amount']['amount']);
    $this
      ->setCurrencyCode($values['amount']['currency_code']);
    $this
      ->setDescription($values['description']);
    $this
      ->setName($values['name']);
    $this
      ->setQuantity($values['quantity']);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
Basic::$database protected property The database connection.
Basic::buildConfigurationForm public function Form constructor. Overrides PaymentLineItemBase::buildConfigurationForm
Basic::create public static function Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface::create
Basic::defaultConfiguration public function Gets default configuration for this plugin. Overrides PaymentLineItemBase::defaultConfiguration
Basic::getAmount public function Gets the amount. Overrides PaymentLineItemInterface::getAmount
Basic::getCurrencyCode public function Gets the currency_code. Overrides PaymentLineItemInterface::getCurrencyCode
Basic::getDescription function Gets the line item description. Overrides PaymentLineItemInterface::getDescription
Basic::setAmount public function
Basic::setCurrencyCode public function
Basic::setDescription function Sets the line item description.
Basic::submitConfigurationForm public function Form submission handler. Overrides PaymentLineItemBase::submitConfigurationForm
Basic::__construct public function Constructs a new instance. Overrides PaymentLineItemBase::__construct
DependencySerializationTrait::$_entityStorages protected property An array of entity type IDs keyed by the property name of their storages.
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function 1
DependencySerializationTrait::__wakeup public function 2
MessengerTrait::$messenger protected property The messenger. 29
MessengerTrait::messenger public function Gets the messenger. 29
MessengerTrait::setMessenger public function Sets the messenger.
PaymentAwareTrait::$payment protected property The payment.
PaymentAwareTrait::getPayment public function
PaymentAwareTrait::setPayment public function
PaymentLineItemBase::calculateDependencies public function Calculates dependencies for the configured plugin. Overrides DependentPluginInterface::calculateDependencies
PaymentLineItemBase::getConfiguration public function Gets this plugin's configuration. Overrides ConfigurableInterface::getConfiguration
PaymentLineItemBase::getName public function Gets the machine name. Overrides PaymentLineItemInterface::getName
PaymentLineItemBase::getQuantity public function Gets the quantity. Overrides PaymentLineItemInterface::getQuantity
PaymentLineItemBase::getTotalAmount function Return this line item's total amount. Overrides PaymentLineItemInterface::getTotalAmount
PaymentLineItemBase::setConfiguration public function Sets the configuration for this plugin instance. Overrides ConfigurableInterface::setConfiguration
PaymentLineItemBase::setName public function Sets the machine name. Overrides PaymentLineItemInterface::setName
PaymentLineItemBase::setQuantity public function Sets the quantity. Overrides PaymentLineItemInterface::setQuantity
PaymentLineItemBase::validateConfigurationForm public function Form validation handler. Overrides PluginFormInterface::validateConfigurationForm
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 3
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.
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.