From d633b44d04e605007022ea8456c0e162b43de6b3 Mon Sep 17 00:00:00 2001
From: Artusamak <julien@commerceguys.com>
Date: Sat, 3 Sep 2011 16:03:27 +0200
Subject: [PATCH] Issue #1246052 by volocuga. Add default settings exposed by
 payment method during prules creation.

---
 .../payment/commerce_payment.rules_defaults.inc    |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/modules/payment/commerce_payment.rules_defaults.inc b/modules/payment/commerce_payment.rules_defaults.inc
index 74d927a..95dad13 100644
--- a/modules/payment/commerce_payment.rules_defaults.inc
+++ b/modules/payment/commerce_payment.rules_defaults.inc
@@ -10,20 +10,24 @@
  */
 function commerce_payment_default_rules_configuration() {
   $rules = array();
-
   // Add a default rule for each available payment method.
   foreach (commerce_payment_methods() as $method_id => $payment_method) {
-    $rule = rules_reaction_rule();
+    // Set payment method settings if available.
+    if (isset($payment_method['settings'])) {
+      $action_settings = array();
+      foreach ($payment_method['settings'] as $key => $value) {
+        $action_settings['payment_method']['settings'][ $key] = $payment_method['settings'][$key];
+      }
+    }
+    $action_settings['payment_method']['commerce_order:select'] = 'commerce-order';
+    $action_settings['payment_method']['method_id'] = $method_id;
 
+    $rule = rules_reaction_rule();
     $rule->label = $payment_method['title'];
     $rule->active = $payment_method['active'];
-
     $rule
       ->event('commerce_payment_methods')
-      ->action('commerce_payment_enable_' . $method_id, array(
-        'commerce_order:select' => 'commerce-order',
-        'payment_method' => $method_id,
-      ));
+      ->action('commerce_payment_enable_' . $method_id, $action_settings);
 
     $rules['commerce_payment_' . $method_id] = $rule;
   }
-- 
1.7.6

