You are here

class Check in Ubercart 8.4

Defines the check payment method.

Plugin annotation


@UbercartPaymentMethod(
  id = "check",
  name = @Translation("Check", context = "cheque"),
)

Hierarchy

Expanded class hierarchy of Check

1 string reference to 'Check'
CheckTest::testCheck in payment/uc_payment_pack/tests/src/Functional/CheckTest.php
Tests for Check payment method.

File

payment/uc_payment_pack/src/Plugin/Ubercart/PaymentMethod/Check.php, line 20

Namespace

Drupal\uc_payment_pack\Plugin\Ubercart\PaymentMethod
View source
class Check extends PaymentMethodPluginBase {

  /**
   * {@inheritdoc}
   */
  public function defaultConfiguration() {
    $config = \Drupal::config('uc_store.settings');
    return [
      'policy' => $this
        ->t('Personal and business checks will be held for up to 10 business days to ensure payment clears before an order is shipped.'),
      'name' => '',
      'address' => $config
        ->get('address') + [
        'company' => $config
          ->get('name'),
      ],
    ];
  }

  /**
   * {@inheritdoc}
   */
  public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
    $form['policy'] = [
      '#type' => 'textarea',
      '#title' => $this
        ->t('Check payment policy', [], [
        'context' => 'cheque',
      ]),
      '#description' => $this
        ->t('Instructions for customers on the checkout page.'),
      '#default_value' => $this->configuration['policy'],
      '#rows' => 3,
    ];
    $form['name'] = [
      '#type' => 'textfield',
      '#title' => $this
        ->t('Contact'),
      '#description' => $this
        ->t('Direct checks to a person or department.'),
      '#default_value' => $this->configuration['name'],
    ];
    $form['address'] = [
      '#type' => 'uc_address',
      '#tree' => TRUE,
      '#hide' => [
        'first_name',
        'last_name',
        'phone',
        'email',
      ],
      '#default_value' => $this->configuration['address'],
      '#required' => FALSE,
    ];
    return $form;
  }

  /**
   * {@inheritdoc}
   */
  public function submitConfigurationForm(array &$form, FormStateInterface $form_state) {
    $this->configuration['policy'] = $form_state
      ->getValue('policy');
    $this->configuration['name'] = $form_state
      ->getValue('name');
    $this->configuration['address'] = $form_state
      ->getValue('address');
  }

  /**
   * {@inheritdoc}
   */
  public function cartDetails(OrderInterface $order, array $form, FormStateInterface $form_state) {
    $build['instructions'] = [
      '#markup' => $this
        ->t('Checks should be made out to:'),
    ];
    $address = Address::create($this->configuration['address']);
    $address
      ->setFirstName($this->configuration['name']);
    $build['address'] = [
      '#prefix' => '<p>',
      '#markup' => (string) $address,
      '#suffix' => '</p>',
    ];
    $build['policy'] = [
      '#prefix' => '<p>',
      '#markup' => Html::escape($this->configuration['policy']),
      '#suffix' => '</p>',
    ];
    return $build;
  }

  /**
   * {@inheritdoc}
   */
  public function cartReview(OrderInterface $order) {
    $address = Address::create($this->configuration['address']);
    $address
      ->setFirstName($this->configuration['name']);
    $review[] = [
      'title' => $this
        ->t('Mail to'),
      'data' => [
        '#markup' => (string) $address,
      ],
    ];
    return $review;
  }

  /**
   * {@inheritdoc}
   */
  public function orderView(OrderInterface $order) {
    $build = [
      '#suffix' => '<br />',
    ];
    $result = $this->database
      ->query('SELECT clear_date FROM {uc_payment_check} WHERE order_id = :id ', [
      ':id' => $order
        ->id(),
    ]);
    if ($clear_date = $result
      ->fetchField()) {
      $build['#markup'] = $this
        ->t('Clear Date:') . ' ' . \Drupal::service('date.formatter')
        ->format($clear_date, 'uc_store');
    }
    else {
      $build['#type'] = 'link';
      $build['#title'] = $this
        ->t('Receive Check');
      $build['#url'] = Url::fromRoute('uc_payment_pack.check.receive', [
        'uc_order' => $order
          ->id(),
      ]);
    }
    return $build;
  }

  /**
   * {@inheritdoc}
   */
  public function customerView(OrderInterface $order) {
    $build = [];
    $result = $this->database
      ->query('SELECT clear_date FROM {uc_payment_check} WHERE order_id = :id ', [
      ':id' => $order
        ->id(),
    ]);
    if ($clear_date = $result
      ->fetchField()) {
      $build['#markup'] = $this
        ->t('Check received') . '<br />' . $this
        ->t('Expected clear date:') . '<br />' . \Drupal::service('date.formatter')
        ->format($clear_date, 'uc_store');
    }
    return $build;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
Check::buildConfigurationForm public function Form constructor. Overrides PaymentMethodPluginBase::buildConfigurationForm
Check::cartDetails public function Returns the form or render array to be displayed at checkout. Overrides PaymentMethodPluginBase::cartDetails
Check::cartReview public function Returns the payment method review details. Overrides PaymentMethodPluginBase::cartReview
Check::customerView public function Called when an order is being viewed by a customer. Overrides PaymentMethodPluginBase::customerView
Check::defaultConfiguration public function Gets default configuration for this plugin. Overrides PaymentMethodPluginBase::defaultConfiguration
Check::orderView public function Called when an order is being viewed by an administrator. Overrides PaymentMethodPluginBase::orderView
Check::submitConfigurationForm public function Form submission handler. Overrides PaymentMethodPluginBase::submitConfigurationForm
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.
PaymentMethodPluginBase::$database protected property The database service.
PaymentMethodPluginBase::cartProcess public function Called when checkout is submitted with this payment method selected. Overrides PaymentMethodPluginInterface::cartProcess 3
PaymentMethodPluginBase::cartReviewTitle public function Returns the payment method title to be used on the checkout review page. Overrides PaymentMethodPluginInterface::cartReviewTitle 2
PaymentMethodPluginBase::create public static function Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface::create
PaymentMethodPluginBase::getConfiguration public function Gets this plugin's configuration. Overrides ConfigurableInterface::getConfiguration
PaymentMethodPluginBase::getDisplayLabel public function Returns the payment method label with logo. Overrides PaymentMethodPluginInterface::getDisplayLabel 3
PaymentMethodPluginBase::orderDelete public function Called when an order is being deleted. Overrides PaymentMethodPluginInterface::orderDelete 1
PaymentMethodPluginBase::orderEditDetails public function Called when an order is being edited with this payment method. Overrides PaymentMethodPluginInterface::orderEditDetails 3
PaymentMethodPluginBase::orderEditProcess public function Called when an order is being submitted after being edited. Overrides PaymentMethodPluginInterface::orderEditProcess 1
PaymentMethodPluginBase::orderLoad public function Called when an order is being loaded with this payment method. Overrides PaymentMethodPluginInterface::orderLoad 3
PaymentMethodPluginBase::orderSave public function Called when an order is being saved with this payment method. Overrides PaymentMethodPluginInterface::orderSave 3
PaymentMethodPluginBase::orderSubmit public function Called when an order is being submitted with this payment method. Overrides PaymentMethodPluginInterface::orderSubmit 4
PaymentMethodPluginBase::setConfiguration public function Sets the configuration for this plugin instance. Overrides ConfigurableInterface::setConfiguration
PaymentMethodPluginBase::validateConfigurationForm public function Form validation handler. Overrides PluginFormInterface::validateConfigurationForm
PaymentMethodPluginBase::__construct public function Constructs the PaymentMethodPluginBase object. Overrides PluginBase::__construct
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.