function commerce_coupon_remove_coupon_from_order in Commerce Coupon 7.2
Same name and namespace in other branches
- 7 commerce_coupon.module \commerce_coupon_remove_coupon_from_order()
Removes a coupon from an order.
Parameters
object $order: Order object to affect in the coupon removal.
object $coupon: Coupon object to remove.
bool $save: Whether or not to save the order.
3 calls to commerce_coupon_remove_coupon_from_order()
- commerce_coupon_commerce_cart_order_refresh in ./
commerce_coupon.module - Implements hook_commerce_cart_order_refresh().
- commerce_coupon_handler_area_cart_form_submit in includes/
views/ handlers/ commerce_coupon_handler_area_cart_form.inc - Submit: function commerce_coupon_handler_area_cart_form
- commerce_coupon_remove_coupon_from_order_callback in ./
commerce_coupon.module - Page callback: remove coupon from order.
File
- ./
commerce_coupon.module, line 1307 - Provides coupon functionality for Drupal Commerce.
Code
function commerce_coupon_remove_coupon_from_order($order, $coupon, $save = TRUE) {
if (!commerce_coupon_order_allows_coupons($order)) {
return;
}
$original_order = clone $order;
$order_wrapper = entity_metadata_wrapper('commerce_order', $order);
// Remove the coupons from the order relationship.
foreach ($order_wrapper->commerce_coupons as $delta => $coupon_wrapper) {
if ($coupon_wrapper->coupon_id
->value() == $coupon->coupon_id) {
$order_wrapper->commerce_coupons
->offsetUnset($delta);
}
}
if ($original_order != $order && $save) {
commerce_order_save($order);
}
}