- // Create fixed amount rule
- $rule = rules_reaction_rule(array(), array(
- 'commerce_coupon_line_item' => array(
- 'type' => 'commerce_coupon_line_item',
- 'label' => 'commerce coupon line item')
- )
- );
- $rule->label = t('Calculate coupon with fixed amount');
- $rule->active = TRUE;
- $rule
- ->event('commerce_coupon_redeem')
- ->condition('entity_has_field', array('entity:select' => 'coupon', 'field' => 'commerce_coupon_fixed_amount'))
- ->condition(rules_and()->condition('data_is_empty', array('data:select' => 'coupon:commerce-coupon-fixed-amount'))->negate() )
- ->condition('data_is', array('data:select' => 'coupon:commerce-coupon-fixed-amount:amount', 'op' => '>', 'value' => 0))
- ->action('commerce_coupon_action_create_coupon_line_item', array(
- 'commerce_coupon:select' => 'coupon',
- 'commerce_order:select' => 'commerce-order',
- 'amount:select' => 'coupon:commerce-coupon-fixed-amount:amount',
- 'currency_code:select' => 'coupon:commerce-coupon-fixed-amount:currency-code'
- ))
- ->action('commerce_coupon_action_set_granted_amount', array(
- 'commerce_coupon_log:select' => 'coupon-log',
- 'amount:select' => 'coupon:commerce-coupon-fixed-amount:amount',
- 'currency_code:select' => 'coupon:commerce-coupon-fixed-amount:currency-code'
- ));
- $rules['commerce_coupon_basic_fixed_amount'] = $rule;
- // Create percent amount rule
- $rule = rules_reaction_rule(array(), array(
- 'commerce_coupon_line_item' => array(
- 'type' => 'commerce_coupon_line_item',
- 'label' => 'commerce coupon line item')
- )
- );
- $rule->label = t('Calculate coupon with percent amount');
- $rule->active = TRUE;
- $rule
- ->event('commerce_coupon_redeem')
- ->condition('entity_has_field', array('entity:select' => 'coupon', 'field' => 'commerce_coupon_percent_amount'))
- ->condition(rules_and()->condition('data_is_empty', array('data:select' => 'coupon:commerce-coupon-percent-amount'))->negate() )
- ->condition('data_is', array('data:select' => 'coupon:commerce-coupon-percent-amount', 'op' => '>', 'value' => 0))
- ->action('commerce_coupon_action_create_coupon_line_item', array(
- 'commerce_coupon:select' => 'coupon',
- 'commerce_order:select' => 'commerce-order',
- 'amount:select' => 'coupon:commerce-coupon-percent-amount',
- 'currency_code:select' => 'commerce-order:commerce-order-total:currency-code'
- ))
- ->action('commerce_coupon_action_set_granted_percent_amount', array(
- 'commerce_coupon_log:select' => 'coupon-log',
- 'percent:select' => 'coupon:commerce-coupon-percent-amount',
- 'amount:select' => 'commerce-order:commerce-order-total:amount',
- 'currency_code:select' => 'commerce-order:commerce-order-total:currency-code'
- ));
- $rules['commerce_coupon_basic_percent_amount'] = $rule;