uc_stock.rules_defaults.inc 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. /**
  3. * @file
  4. * Rules default configurations for uc_stock.module.
  5. */
  6. /**
  7. * Implements hook_default_rules_configuration().
  8. */
  9. function uc_stock_default_rules_configuration() {
  10. $configs = array();
  11. $rule = rules_reaction_rule();
  12. $rule->label = t('Decrement stock upon order submission');
  13. $rule->active = TRUE;
  14. $rule->event('uc_checkout_complete')
  15. ->action('uc_stock_action_decrement_stock', array('order:select' => 'order'));
  16. $configs['uc_stock_decrement_on_order'] = $rule;
  17. $rule = rules_reaction_rule();
  18. $rule->label = t('Increment stock on cancelling order');
  19. $rule->active = FALSE;
  20. $rule->event('uc_order_status_update')
  21. ->condition(rules_condition('data_is', array('data:select' => 'updated_order:order-status', 'value' => 'canceled')))
  22. ->condition(rules_condition('data_is', array('data:select' => 'order:order-status', 'value' => 'canceled'))->negate())
  23. ->condition(rules_condition('data_is', array('data:select' => 'order:order-status', 'value' => 'in_checkout'))->negate())
  24. ->action('uc_stock_action_increment_stock', array('order:select' => 'order'));
  25. $configs['uc_stock_increment_on_cancel'] = $rule;
  26. $rule = rules_reaction_rule();
  27. $rule->label = t('Increment stock on deleting an order');
  28. $rule->active = FALSE;
  29. $rule->event('uc_order_delete')
  30. ->condition(rules_condition('data_is', array('data:select' => 'order:order-status', 'value' => 'canceled'))->negate())
  31. ->condition(rules_condition('data_is', array('data:select' => 'order:order-status', 'value' => 'in_checkout'))->negate())
  32. ->action('uc_stock_action_increment_stock', array('order:select' => 'order'));
  33. $configs['uc_stock_increment_on_delete'] = $rule;
  34. $rule = rules_reaction_rule();
  35. $rule->label = t('Decrement stock when order cancellation is being undone');
  36. $rule->active = FALSE;
  37. $rule->event('uc_order_status_update')
  38. ->condition(rules_condition('data_is', array('data:select' => 'order:order-status', 'value' => 'canceled')))
  39. ->condition(rules_condition('data_is', array('data:select' => 'updated_order:order-status', 'value' => 'canceled'))->negate())
  40. ->condition(rules_condition('data_is', array('data:select' => 'updated_order:order-status', 'value' => 'in_checkout'))->negate())
  41. ->action('uc_stock_action_decrement_stock', array('order:select' => 'order'));
  42. $configs['uc_stock_decrement_on_uncancel'] = $rule;
  43. return $configs;
  44. }