You are here

function commerce_coupon_usage_commerce_order_insert in Commerce Coupon 7.2

Implements hook_commerce_order_insert().

File

modules/usage/commerce_coupon_usage.module, line 456

Code

function commerce_coupon_usage_commerce_order_insert($order) {
  if (!commerce_coupon_order_allows_coupons($order)) {
    return;
  }

  // Supports tracking coupon usage when orders are created in completed or
  // pending statuses.
  $order_wrapper = entity_metadata_wrapper('commerce_order', $order);
  if (in_array($order->status, commerce_coupon_usage_tracked_order_statuses())) {
    foreach ($order_wrapper->commerce_coupons as $coupon_wrapper) {
      $transaction_id = commerce_coupon_usage_transaction_write($coupon_wrapper->coupon_id
        ->value(), $order->order_id);
      if (!$transaction_id) {
        drupal_set_message(t('You have exceeded the maximum usage settings for
          coupon %code. Its usage on this order cannot be recorded until you
          increase its maximum usage settings.', array(
          '%code' => $coupon_wrapper->code
            ->value(),
        )), 'warning');
      }
    }
  }
}