Changeset 21538


Ignore:
Timestamp:
2012/02/19 09:47:23 (9 years ago)
Author:
Seasoft
Message:

#1564 (商品登録CSV 在庫数の実装誤り)

File:
1 edited

Legend:

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

    r21527 r21538  
    577577                $sqlval['product_type_id'] = DEFAULT_PRODUCT_DOWN; 
    578578            } 
    579             // TODO: 在庫数、無制限フラグの扱いについて仕様がぶれているので要調整 
    580             if ($sqlval['stock'] == '' and $sqlval['stock_unlimited'] != UNLIMITED_FLG_UNLIMITED) { 
    581                 //在庫数設定がされておらず、かつ無制限フラグが設定されていない場合、強制無制限 
    582                 $sqlval['stock_unlimited'] = UNLIMITED_FLG_UNLIMITED; 
    583             } elseif ($sqlval['stock'] != '' and $sqlval['stock_unlimited'] != UNLIMITED_FLG_UNLIMITED) { 
    584                 //在庫数設定時は在庫無制限フラグをクリア 
    585                 $sqlval['stock_unlimited'] = UNLIMITED_FLG_LIMITED; 
    586             } elseif ($sqlval['stock'] != '' and $sqlval['stock_unlimited'] == UNLIMITED_FLG_UNLIMITED) { 
    587                 //在庫無制限フラグ設定時は在庫数をクリア 
    588                 $sqlval['stock'] = ''; 
    589             } 
    590         } else { 
    591             //更新時のみ設定する項目 
    592             if (array_key_exists('stock_unlimited', $sqlval) and $sqlval['stock_unlimited'] == UNLIMITED_FLG_UNLIMITED) { 
    593                 $sqlval['stock'] = ''; 
    594             } 
    595579        } 
    596580        //共通で設定する項目 
     
    600584        if ($sqlval['creator_id'] == '') { 
    601585            $sqlval['creator_id'] = $_SESSION['member_id']; 
     586        } 
     587        // 在庫無制限フラグ列を利用する場合、 
     588        if (array_key_exists('stock_unlimited', $sqlval)) { 
     589            // 在庫無制限フラグ = 無制限の場合、 
     590            if ($sqlval['stock_unlimited'] == UNLIMITED_FLG_UNLIMITED) { 
     591                $sqlval['stock'] = null; 
     592            } 
     593        } else { 
     594            // 在庫数設定がされていない場合、在庫無制限フラグ = 無制限 
     595            if (strlen($sqlval['stock']) === 0) { 
     596                $sqlval['stock_unlimited'] = UNLIMITED_FLG_UNLIMITED; 
     597            } 
     598            // 在庫数を入力している場合、在庫無制限フラグ = 制限有り 
     599            elseif (strlen($sqlval['stock']) >= 1) { 
     600                $sqlval['stock_unlimited'] = UNLIMITED_FLG_LIMITED; 
     601            } 
     602            // いずれにも該当しない場合、例外エラー 
     603            else { 
     604                SC_Utils_Ex::sfDispException(); 
     605            } 
    602606        } 
    603607        return $sqlval; 
Note: See TracChangeset for help on using the changeset viewer.