You are here

public function ShipmentPromotionOfferBase::submitConfigurationForm in Commerce Shipping 8.2

Form submission handler.

Parameters

array $form: An associative array containing the structure of the plugin form as built by static::buildConfigurationForm().

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form. Calling code should pass on a subform state created through \Drupal\Core\Form\SubformState::createForSubform().

Overrides PromotionOfferBase::submitConfigurationForm

File

src/Plugin/Commerce/PromotionOffer/ShipmentPromotionOfferBase.php, line 141

Class

ShipmentPromotionOfferBase
Provides the base class for shipment offers.

Namespace

Drupal\commerce_shipping\Plugin\Commerce\PromotionOffer

Code

public function submitConfigurationForm(array &$form, FormStateInterface $form_state) {
  parent::submitConfigurationForm($form, $form_state);
  if (!$form_state
    ->getErrors()) {
    $values = $form_state
      ->getValue($form['#parents']);
    $this->configuration['display_inclusive'] = $values['display_inclusive'];
    $this->configuration['filter'] = $values['filter'];
    $this->configuration['shipping_methods'] = [];
    if ($values['filter'] != 'none') {

      // Convert selected shipping method IDs into UUIDs, and store them.
      $uuids = $this->entityUuidMapper
        ->mapFromIds('commerce_shipping_method', $values['shipping_methods']);
      foreach ($uuids as $uuid) {
        $this->configuration['shipping_methods'][] = [
          'shipping_method' => $uuid,
        ];
      }
    }
  }
}