function commerce_coupon_order_coupon_code_discounts in Commerce Coupon 7.2
Load common discounts that are present in a coupon (by code) and an order.
Parameters
string $code: A coupon code.
object $order: An order entity.
Return value
array A list of discount entities.
2 calls to commerce_coupon_order_coupon_code_discounts()
- commerce_coupon_commerce_cart_order_refresh in ./
commerce_coupon.module - Implements hook_commerce_cart_order_refresh().
- commerce_coupon_handler_field_discount_value_display::render in includes/
views/ handlers/ commerce_coupon_handler_field_discount_value_display.inc - Overrides parent::render().
File
- ./
commerce_coupon.module, line 1168 - Provides coupon functionality for Drupal Commerce.
Code
function commerce_coupon_order_coupon_code_discounts($code, $order) {
$coupon = commerce_coupon_load_by_code($code);
$coupon_wrapper = entity_metadata_wrapper('commerce_coupon', $coupon);
if ($coupon->type == 'discount_coupon' && $coupon_wrapper->commerce_discount_reference
->value()) {
// Line item level discounts are not stored on the order, so we have to dig
// through the price components.
$order_discount_ids = commerce_coupon_order_discount_ids($order);
$discount_ids = array_intersect($coupon_wrapper->commerce_discount_reference
->raw(), $order_discount_ids);
return commerce_coupon_discount_load_multiple($discount_ids);
}
return array();
}