You are here

function uc_product_kit_add_to_cart_form_validate in Ubercart 8.4

Same name and namespace in other branches
  1. 7.3 uc_product_kit/uc_product_kit.module \uc_product_kit_add_to_cart_form_validate()

Form validation handler for adding a product kit to the cart.

See also

\Drupal\uc_product\Form\AddToCartForm

1 string reference to 'uc_product_kit_add_to_cart_form_validate'
uc_product_kit_uc_form_alter in uc_product_kit/uc_product_kit.module
Implements hook_uc_form_alter().

File

uc_product_kit/uc_product_kit.module, line 718
The product kit module for Ubercart.

Code

function uc_product_kit_add_to_cart_form_validate($form, FormStateInterface $form_state) {
  $data = \Drupal::moduleHandler()
    ->invokeAll('uc_add_to_cart_data', [
    $form_state
      ->getValues(),
  ]);
  $form_state
    ->set('variant', uc_product_load_variant($form_state
    ->getValue('nid'), $data));
  foreach ($form_state
    ->get('variant')->products as &$product) {
    $data = \Drupal::moduleHandler()
      ->invokeAll('uc_add_to_cart_data', [
      $form_state
        ->getValue([
        'products',
        $product
          ->id(),
      ]),
    ]);
    $data += $product->data;
    $qty = $product->qty;
    $product = uc_product_load_variant($product
      ->id(), $data);
    $product->qty = $qty;
  }
}