[Svn-src-all:1519] [version-2_5-dev 20415] refs #1029

shutta admin @ mail.ec-cube.net
2011年 2月 26日 (土) 11:29:26 JST


Subversion committed to /home/svn/open 20415
http://svn.ec-cube.net/open_trac/changeset/20415
┌────────────────────────────┐
│更新者 :  shutta                                       │
│更新日時:  2011-02-26 11:29:25 +0900 (土, 26  2月 2011)│
└────────────────────────────┘

Log:
--------------------------------------------------------
refs #1029
受注管理->受注入力・編集の商品変更が正しく動作していなかったのを修正。


Changed:                      [U:修正,A:追加,D:削除]
--------------------------------------------------------
U   branches/version-2_5-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php

変更: branches/version-2_5-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php	2011-02-25 14:11:44 UTC (rev 20414)
+++ branches/version-2_5-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php	2011-02-26 02:29:25 UTC (rev 20415)
@@ -682,9 +682,10 @@
         $product_class_id = $objFormParam->getValue('add_product_class_id');
         if (SC_Utils_Ex::isBlank($product_class_id)) {
             $product_class_id = $objFormParam->getValue('edit_product_class_id');
+            $changed_no = $objFormParam->getValue('no');
         }
 
-        // フォームの内容を更新
+        // 選択済みの商品であれば数量を1増やす
         $exists = false;
         $arrExistsProductClassIds = $objFormParam->getValue('product_class_id');
         foreach (array_keys($arrExistsProductClassIds) as $key) {
@@ -698,6 +699,7 @@
         }
 
         // 新しく商品を追加した場合はフォームに登録
+        // 商品を変更した場合は、該当行を変更
         if (!$exists) {
             $objProduct = new SC_Product();
             $arrProduct = $objProduct->getDetailAndProductsClass($product_class_id);
@@ -712,9 +714,16 @@
                                    'quantity', 'price');
             foreach ($arrUpdateKeys as $key) {
                 $arrValues = $objFormParam->getValue($key);
-                $arrValues[] = $arrProduct[$key];
+                if (isset($changed_no)) {
+                    $arrValues[$changed_no] = $arrProduct[$key];
+                } else {
+                    $arrValues[] = $arrProduct[$key];
+                }
                 $objFormParam->setValue($key, $arrValues);
             }
+        } elseif (isset($changed_no)) {
+            // 変更したが、既に選択していた場合は、
+            $this->doDeleteProduct($changed_no, $objFormParam);
         }
     }
 




Svn-src-all メーリングリストの案内