Changeset 22044


Ignore:
Timestamp:
2012/09/30 22:50:43 (11 years ago)
Author:
eoogle
Message:

#1941 商品CSV更新時に在庫が勝手に無制限になる場合があるのを修正

File:
1 edited

Legend:

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

    r21981 r22044  
    452452        // 商品規格テーブルのカラムに存在しているもののうち、Form投入設定されていないデータは上書きしない。 
    453453        $sqlval = SC_Utils_Ex::sfArrayIntersectKeys($arrList, $this->arrProductClassColumn); 
    454         // 必須入力では無い項目だが、空文字では問題のある特殊なカラム値の初期値設定 
    455         $sqlval = $this->lfSetProductClassDefaultData($sqlval); 
    456454 
    457455        if ($product_class_id == '') { 
    458456            // 新規登録 
     457            // 必須入力では無い項目だが、空文字では問題のある特殊なカラム値の初期値設定 
     458            $sqlval = $this->lfSetProductClassDefaultData($sqlval); 
    459459            $sqlval['product_id'] = $product_id; 
    460460            $sqlval['product_class_id'] = $objQuery->nextVal('dtb_products_class_product_class_id'); 
     
    465465        } else { 
    466466            // UPDATEの実行 
     467            // 必須入力では無い項目だが、空文字では問題のある特殊なカラム値の初期値設定 
     468            $sqlval = $this->lfSetProductClassDefaultData($sqlval, true); 
    467469            $where = 'product_class_id = ?'; 
    468470            $objQuery->update('dtb_products_class', $sqlval, $where, array($product_class_id)); 
     
    560562     * 
    561563     * @param array $sqlval 商品登録情報配列 
     564     * @param boolean $upload_flg 更新フラグ(更新の場合true) 
    562565     * @return $sqlval 登録情報配列 
    563566     */ 
    564     function lfSetProductClassDefaultData(&$sqlval) { 
     567    function lfSetProductClassDefaultData(&$sqlval, $upload_flg) { 
    565568        //新規登録時のみ設定する項目 
    566569        if ($sqlval['product_class_id'] == '') { 
     
    579582            $sqlval['creator_id'] = $_SESSION['member_id']; 
    580583        } 
     584 
    581585        // 在庫無制限フラグ列を利用する場合、 
    582586        if (array_key_exists('stock_unlimited', $sqlval)) { 
     
    586590            } 
    587591        } else { 
    588             // 在庫数設定がされていない場合、在庫無制限フラグ = 無制限 
    589             if (strlen($sqlval['stock']) === 0) { 
    590                 $sqlval['stock_unlimited'] = UNLIMITED_FLG_UNLIMITED; 
     592            // 初期登録の場合は、在庫数設定がされていない場合、在庫無制限フラグ = 無制限。 
     593            if (strlen($sqlval['stock']) === 0){ 
     594                //更新の場合は、sqlvalのキーにstockがある場合のみ対象 
     595                if(!$upload_flg or ($upload_flg and array_key_exists('stock', $sqlval))) { 
     596                    $sqlval['stock_unlimited'] = UNLIMITED_FLG_UNLIMITED; 
     597                } 
    591598            } 
    592599            // 在庫数を入力している場合、在庫無制限フラグ = 制限有り 
Note: See TracChangeset for help on using the changeset viewer.