You are here

function uc_coupon_form_uc_cart_checkout_form_alter in Ubercart Discount Coupons 7.3

Same name and namespace in other branches
  1. 6 uc_coupon.module \uc_coupon_form_uc_cart_checkout_form_alter()
  2. 7.2 uc_coupon.module \uc_coupon_form_uc_cart_checkout_form_alter()

Implements hook_form_FORM_ID_alter() for uc_cart_checkout_form().

Remove any coupon cart items from the serialized cart contents and payment-pane order, as coupons will be handled as line items during checkout.

Collapse coupon checkout pane, if configured to do so.

File

./uc_coupon.module, line 1919
Provides discount codes and gift certificates for Ubercart.

Code

function uc_coupon_form_uc_cart_checkout_form_alter(&$form, $form_state) {
  if (variable_get('uc_coupon_collapse_pane', FALSE) && isset($form['panes']['coupon'])) {
    $form['panes']['coupon']['#collapsed'] = TRUE;
  }

  // Show current session coupons in the cart pane (since now they will have been removed from the order).
  if (variable_get('uc_coupon_show_in_cart', TRUE) && isset($form['panes']['cart'])) {
    $coupons = uc_coupon_session_validate();

    // If there are some valid coupons, then add them to the cart.
    foreach ($coupons as $code => $coupon) {
      if ($coupon->amount != 0) {
        $item = _uc_coupon_cart_item($coupon);
        $item->order_product_id = $item->cart_item_id;
        $form['panes']['cart']['cart_review_table']['#items'][] = $item;
      }
    }
  }
}