? 651556_order_edit_stock_enhancements.patch
? 651556_stock_adjust.patch
Index: uc_order/uc_order.admin.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/ubercart/uc_order/uc_order.admin.inc,v
retrieving revision 1.1.2.31
diff -w -u -p -r1.1.2.31 uc_order.admin.inc
--- uc_order/uc_order.admin.inc	18 Mar 2010 03:09:41 -0000	1.1.2.31
+++ uc_order/uc_order.admin.inc	1 Apr 2010 19:54:08 -0000
@@ -1248,7 +1248,7 @@ function uc_order_edit_form_submit($form
         if (module_exists('uc_stock')) {
           $temp = $product->qty;
           $product->qty = $product->qty - $qtys[$product->order_product_id];
-          uc_stock_decrement_product_stock($product, 0, $order);
+          uc_stock_adjust_product_stock($product, 0, $order);
           $product->qty = $temp;
         }
       }
@@ -1339,7 +1339,7 @@ function uc_order_edit_products($order) 
 
       // Decrement stock?
       if (module_exists('uc_stock')) {
-        uc_stock_decrement_product_stock($product, 0, $order);
+        uc_stock_adjust_product_stock($product, 0, $order);
       }
       break;
     case 'remove':
Index: uc_stock/uc_stock.ca.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/ubercart/uc_stock/uc_stock.ca.inc,v
retrieving revision 1.1.2.9
diff -w -u -p -r1.1.2.9 uc_stock.ca.inc
--- uc_stock/uc_stock.ca.inc	23 Sep 2009 19:50:45 -0000	1.1.2.9
+++ uc_stock/uc_stock.ca.inc	1 Apr 2010 19:54:13 -0000
@@ -59,6 +59,6 @@ function uc_stock_ca_action() {
  */
 function uc_stock_action_decrement_stock($order, $settings) {
   if (is_array($order->products)) {
-    array_walk($order->products, 'uc_stock_decrement_product_stock', $order);
+    array_walk($order->products, 'uc_stock_adjust_product_stock', $order);
   }
 }
Index: uc_stock/uc_stock.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/ubercart/uc_stock/uc_stock.module,v
retrieving revision 1.12.2.20
diff -w -u -p -r1.12.2.20 uc_stock.module
--- uc_stock/uc_stock.module	18 Mar 2010 03:17:18 -0000	1.12.2.20
+++ uc_stock/uc_stock.module	1 Apr 2010 19:54:13 -0000
@@ -277,12 +277,25 @@ function uc_stock_views_api() {
 }
 
 /**
- * Decrement a product's stock.
- *
- * @param $product
- *   The product whose stock is decrementing.
+ * Wrapper function to the new uc_stock_adjust_product_stock().
+ * To keep backwards compatibility with contrib modules.
  */
 function uc_stock_decrement_product_stock($product, $key, $order) {
+  return uc_stock_adjust_product_stock($product, $key, $order);
+}
+
+/**
+ * Adjust a product's stock.
+ *
+ * @param object $product
+ *   The product whose stock is adjusting.
+ * @param integer $key
+ *   Internal, so this function can be used as a callback of array_walk().
+ *   @see uc_stock_action_decrement_stock()
+ * @param object $order
+ *   Order object
+ */
+function uc_stock_adjust_product_stock($product, $key, $order) {
   // Product has an active stock?
   if (!uc_stock_is_active($product->model)) {
     return;
@@ -293,7 +306,7 @@ function uc_stock_decrement_product_stoc
     return;
   }
 
-  // Decrement the product's stock.
+  // Adjust the product's stock.
   uc_stock_adjust($product->model, -$product->qty);
 
   // Load the new stock record
@@ -305,6 +318,6 @@ function uc_stock_decrement_product_stoc
   }
 
   // Save a comment about the stock level.
-  uc_order_comment_save($order->order_id, 0, t('The stock level for %model_name has been decreased to !qty.', array('%model_name' => $product->model, '!qty' => $stock->stock)));
+  uc_order_comment_save($order->order_id, 0, t('The stock level for %model_name has been !action to !qty.', array('%model_name' => $product->model, '!qty' => $stock->stock, '!action' => (-$product->qty <= 0) ? t('decreased') : t('increased') )));
 }
 
