From a362bb5985ae3751356f838359f8a2362e36f869 Mon Sep 17 00:00:00 2001 From: Jordan Fei Date: Wed, 20 Feb 2013 10:11:06 +0800 Subject: [PATCH] Issue #1919376: Fixed product kit ordering issue --- uc_product_kit/uc_product_kit.module | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/uc_product_kit/uc_product_kit.module b/uc_product_kit/uc_product_kit.module index 3e81f69..a8d87dc 100644 --- a/uc_product_kit/uc_product_kit.module +++ b/uc_product_kit/uc_product_kit.module @@ -239,6 +239,13 @@ function uc_product_kit_update(&$node) { $base_price += $product->sell_price * $node->items[$nid]['qty']; } } + + /* Fetch the original product order in this kit */ + $kit_ordering = array(); + $result = db_query("SELECT product_id, ordering FROM {uc_product_kits} WHERE vid = :vid", array(':vid' => $node->vid)); + foreach ($result as $kit_product) { + $kit_ordering[$kit_product->product_id] = $kit_product->ordering; + } if (empty($node->revision)) { db_delete('uc_product_kits') @@ -306,7 +313,7 @@ function uc_product_kit_update(&$node) { 'mutable' => $node->mutable, 'qty' => $product->qty, 'discount' => $discount, - 'ordering' => isset($node->items[$nid]['ordering']) ? $node->items[$nid]['ordering'] : 0, + 'ordering' => isset($node->items[$nid]['ordering']) ? $node->items[$nid]['ordering'] : (isset($kit_ordering[$nid]) ? $kit_ordering[$nid] : 0), 'synchronized' => $override_discounts ? 0 : 1, )) ->execute(); -- 1.8.0.msysgit.0