Changeset 23155


Ignore:
Timestamp:
2013/08/29 13:01:31 (11 years ago)
Author:
undertree
Message:

#2027 (商品登録CSVの商品更新時、未入力だとシステムエラーになる項目がある)
point_rate, product_type_idについて、商品規格の更新時には必須入力項目として扱った方が良い。

  • 入力値チェックの追加
  • 商品規格IDの取得タイミングの調整
File:
1 edited

Legend:

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

    r23124 r23155  
    208208            $objFormParam->convParam(); 
    209209 
     210            // 商品IDが設定されており、規格IDが設定されていなければ、既存の規格ID取得を試みる(product_class_idは必須入力項目ではない) 
     211            $product_id = $objFormParam->getValue('product_id'); 
     212            $product_class_id = $objFormParam->getValue('product_class_id'); 
     213            if ($product_class_id == '' && $product_id != '') { 
     214                $product_class_id = SC_Utils_Ex::sfGetProductClassId($product_id, $objFormParam->getValue('classcategory_id1'), $objFormParam->getValue('classcategory_id2')); 
     215                $objFormParam->setValue('product_class_id', $product_class_id); 
     216            } 
     217 
    210218            // <br>なしでエラー取得する。 
    211219            $arrCSVErr = $this->lfCheckError($objFormParam); 
     
    481489        // 商品規格テーブルのカラムに存在しているもののうち、Form投入設定されていないデータは上書きしない。 
    482490        $sqlval = SC_Utils_Ex::sfArrayIntersectKeys($arrList, $this->arrProductClassColumn); 
    483  
    484         // 商品IDが設定されており、規格IDが設定されていなければ、既存の規格ID取得を試みる(product_class_idは必須入力項目ではない) 
    485         if ($product_class_id == '' && $product_id != '') { 
    486             $product_class_id = SC_Utils_Ex::sfGetProductClassId($product_id, $sqlval['classcategory_id1'], $sqlval['classcategory_id2']); 
    487             $sqlval['product_class_id'] = $product_class_id; 
    488         } 
    489491 
    490492        if ($product_class_id == '') { 
     
    699701            $arrErr['deliv_date_id'] = '※ 指定の発送日目安IDは、登録されていません。'; 
    700702        } 
    701         // 発送日目安IDの存在チェック 
     703        // 商品種別IDの存在チェック 
    702704        if (!$this->lfIsArrayRecord($this->arrProductType, 'product_type_id', $item)) { 
    703705            $arrErr['product_type_id'] = '※ 指定の商品種別IDは、登録されていません。'; 
     706        } 
     707        // 既存の商品クラスを更新する場合、入力が必須となる項目が存在する(既存項目のデフォルト値による更新は望ましくない) 
     708        if ($item['product_class_id'] != '') { 
     709            if ($sqlval['point_rate'] == '') { 
     710                $sqlval['point_rate'] = '※ 既存の商品規格が存在する場合、ポイント付与率を未指定にする事はできません。'; 
     711            } 
     712            if ($item['product_type_id'] == '') { 
     713                $arrErr['product_type_id'] = '※ 既存の商品規格が存在する場合、商品種別を未指定にする事はできません。'; 
     714            } 
    704715        } 
    705716        // 関連商品IDのチェック 
Note: See TracChangeset for help on using the changeset viewer.