Changeset 22447


Ignore:
Timestamp:
2013/01/28 15:27:42 (8 years ago)
Author:
undertree
Message:

#2069 (商品登録CSVの「親規格分類ID」と「規格分類ID」のカラム名の修正)

・classcategory_idをclasscategory_id1に、parent_classcategory_idをclasscategory_id2に読み替える対処の追加
・(product_id, classcategory_id1, classcategory_id2)とproduct_class_idに対するバリデーションの追加

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_12-dev/data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSV.php

    r22301 r22447  
    400400        // 登録データ対象取得 
    401401        $arrList = $objFormParam->getHashArray(); 
     402 
    402403        // 登録時間を生成(DBのCURRENT_TIMESTAMPだとcommitした際、すべて同一の時間になってしまう) 
    403404        $arrList['update_date'] = $this->lfGetDbFormatTimeWithLine($line); 
     
    467468    function lfRegistProductClass($objQuery, $arrList, $product_id, $product_class_id) { 
    468469        $objProduct = new SC_Product_Ex(); 
     470 
     471        // FIXME: dtb_csvテーブルの中で古いカラム名(右辺)が設定されている。sfArrayIntersectKeysでフィルタされてしまうので、名称を変更する必要がある 
     472        if (array_key_exists('classcategory_id', $arrList) && $arrList['classcategory_id'] != '') { 
     473            $arrList['classcategory_id1'] = $arrList['classcategory_id']; 
     474        } 
     475        if (array_key_exists('parent_classcategory_id', $arrList) && $arrList['classcategory_id'] != '') { 
     476            $arrList['classcategory_id2'] = $arrList['parent_classcategory_id']; 
     477        } 
     478 
    469479        // 商品規格登録情報を生成する。 
    470480        // 商品規格テーブルのカラムに存在しているもののうち、Form投入設定されていないデータは上書きしない。 
     
    473483        // 商品IDが設定されており、規格IDが設定されていなければ、既存の規格ID取得を試みる(product_class_idは必須入力項目ではない) 
    474484        if ($product_class_id == '' && $product_id != '') { 
    475             $product_class_id = SC_Utils_Ex::sfGetProductClassId($product_id,$sqlval['classcategory_id1'],$sqlval['classcategory_id2']); 
     485            $product_class_id = SC_Utils_Ex::sfGetProductClassId($product_id, $sqlval['classcategory_id1'], $sqlval['classcategory_id2']); 
    476486            $sqlval['product_class_id'] = $product_class_id; 
    477487        } 
     
    658668                    $arrErr['product_class_id'] = '※ 指定の商品IDと商品規格IDの組合せは正しくありません。'; 
    659669                } 
    660             } 
     670 
     671                // product_class_idは(product_id, classcategory_id1, classcategory_id2)に対して一意。既に異なるproduct_class_idが存在した場合はエラー 
     672                $classcategory_id1 = $item['classcategory_id'] ? $item['classcategory_id'] : 0; 
     673                $classcategory_id2 = $item['parent_classcategory_id'] ? $item['parent_classcategory_id'] : 0; 
     674                $product_class_id = SC_Utils_Ex::sfGetProductClassId($item['product_id'], $classcategory_id1, $classcategory_id2); 
     675                if ($product_class_id && $product_class_id != $item['product_class_id']) { 
     676                    $arrErr['product_class_id'] = '※ 指定の商品ID/規格分類と、商品規格IDの組合せは正しくありません。'; 
     677                } 
     678             } 
    661679        } 
    662680        // 表示ステータスの存在チェック 
Note: See TracChangeset for help on using the changeset viewer.