You are here

function basic_cart_entity_presave in Basic cart 8.5

Same name and namespace in other branches
  1. 8.6 basic_cart.module \basic_cart_entity_presave()
  2. 8 basic_cart.module \basic_cart_entity_presave()
  3. 8.0 basic_cart.module \basic_cart_entity_presave()
  4. 8.2 basic_cart.module \basic_cart_entity_presave()
  5. 8.3 basic_cart.module \basic_cart_entity_presave()
  6. 8.4 basic_cart.module \basic_cart_entity_presave()

Implements hook_entity_presave().

File

./basic_cart.module, line 97
Basic cart module file.

Code

function basic_cart_entity_presave(EntityInterface $node) {
  if (Utility::isBasicCartOrder($node
    ->bundle())) {
    $get_price = Utility::getTotalPrice();
    $cart = Utility::getCart();
    $content = $cart['cart'] ? $cart['cart'] : [];
    if (empty($node
      ->id())) {
      $node
        ->set('basic_cart_vat', $get_price->vat);
      $node
        ->set('basic_cart_total_price', $get_price->total);
      $keys = array_keys($content);
      foreach ($cart['cart_quantity'] as $key => $value) {
        for ($i = 0; $i < $value; $i++) {
          $target_ids[] = $key;
        }
      }
      $node
        ->set('basic_cart_content', $target_ids ? $target_ids : $keys);
    }
  }
}