Ignore:
Timestamp:
2011/03/22 01:16:44 (13 years ago)
Author:
nanasess
bzr:base-revision:
svn-v4:1e3b908f-19a9-db11-a64c-001125224ba8:branches/version-2_5-dev:20753
bzr:committer:
Kentaro Ohkouchi <nanasess@fsm.ne.jp>
bzr:file-ids:

data/Smarty/templates/admin/products/product_class_complete.tpl 15732@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2FSmarty%2Ftemplates%2Fdefault%2Fadmin%2Fproducts%2Fproduct_class_complete.tpl
data/Smarty/templates/admin/products/product_class_confirm.tpl 15732@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2FSmarty%2Ftemplates%2Fdefault%2Fadmin%2Fproducts%2Fproduct_class_confirm.tpl
data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php 15559@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fadmin%2Fproducts%2FLC_Page_Admin_Products_ProductClass.php
bzr:mapping-version:
v4
bzr:merge:

nanasess@fsm.ne.jp-20110321161432-st888nw9az8jeeve
bzr:repository-uuid:
1e3b908f-19a9-db11-a64c-001125224ba8
bzr:revision-id:
nanasess@fsm.ne.jp-20110321161640-8uzg4wrotb2u19d6
bzr:revno:
3468
bzr:revprop:branch-nick:
branches/version-2_5-dev
bzr:root:
branches/version-2_5-dev
bzr:text-revisions:

data/Smarty/templates/admin/products/product_class_complete.tpl nanasess@fsm.ne.jp-20110321161432-st888nw9az8jeeve
data/Smarty/templates/admin/products/product_class_confirm.tpl nanasess@fsm.ne.jp-20110321161432-st888nw9az8jeeve
data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php nanasess@fsm.ne.jp-20110321161432-st888nw9az8jeeve
bzr:timestamp:
2011-03-22 01:16:40.553999901 +0900
bzr:user-agent:
bzr2.2.2+bzr-svn1.0.4
svn:original-date:
2011-03-21T16:16:40.554000Z
Message:

#1188 (規格の変更を重ねるとデータがおかしくなる)

  • DELETE/INSERT に変更

#949 ([管理画面]商品管理(登録・編集):完了画面に「検索結果へ戻る」ボタン追加)

  • 商品規格にも追加
Location:
branches/version-2_5-dev/data
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_5-dev/data/Smarty/templates/admin/products/product_class_complete.tpl

    r20514 r20754  
    2626<input type="hidden" name="mode" value="" /> 
    2727<input type="hidden" name="product_id" value="" /> 
     28<!--{foreach key=key item=item from=$arrSearchHidden}--> 
     29    <!--{if is_array($item)}--> 
     30        <!--{foreach item=c_item from=$item}--> 
     31        <input type="hidden" name="<!--{$key|h}-->[]" value="<!--{$c_item|h}-->" /> 
     32        <!--{/foreach}--> 
     33    <!--{else}--> 
     34        <input type="hidden" name="<!--{$key|h}-->" value="<!--{$item|h}-->" /> 
     35    <!--{/if}--> 
     36<!--{/foreach}--> 
    2837    <div id="complete"> 
    2938        <div class="complete-top"></div> 
     
    3645        <div class="btn-area"> 
    3746            <ul> 
     47                <li><a class="btn-action" href="javascript:;" onclick="fnChangeAction('<!--{$smarty.const.ADMIN_PRODUCTS_URLPATH}-->'); fnModeSubmit('search','',''); return false;"><span class="btn-prev">検索結果へ戻る</span></a></li> 
    3848                <li><a class="btn-action" href="./product.php"><span class="btn-next">続けて登録を行う</span></a></li> 
    3949            </ul> 
  • branches/version-2_5-dev/data/Smarty/templates/admin/products/product_class_confirm.tpl

    r20595 r20754  
    3636<!--{/foreach}--> 
    3737 
    38 <!--{* TODO 不要? *}--> 
    39 <!--{foreach key=key item=items from=$arrSearchHidden}--> 
    40     <!--{if is_array($items.value)}--> 
    41         <!--{foreach key=index item=item from=$items.value}--> 
    42             <input type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$item|h}-->" /> 
     38<!--{foreach key=key item=item from=$arrSearchHidden}--> 
     39    <!--{if is_array($item)}--> 
     40        <!--{foreach item=c_item from=$item}--> 
     41        <input type="hidden" name="<!--{$key|h}-->[]" value="<!--{$c_item|h}-->" /> 
    4342        <!--{/foreach}--> 
    4443    <!--{else}--> 
    45         <input type="hidden" name="<!--{$key}-->" value="<!--{$items|h}-->" /> 
     44        <input type="hidden" name="<!--{$key|h}-->" value="<!--{$item|h}-->" /> 
    4645    <!--{/if}--> 
    4746<!--{/foreach}--> 
  • branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php

    r20752 r20754  
    216216     * 規格の登録または更新を行う. 
    217217     * 
    218      * TODO dtb_class_combination は, dtb_product_categories に倣って, 
    219      *      DELETE to INSERT だが, UPDATE を検討する. 
    220      * 
    221218     * @param array $arrList 入力フォームの内容 
    222219     * @param integer $product_id 登録を行う商品ID 
     
    236233        // デフォルト値として設定する値を取得しておく 
    237234        $arrDefault = $this->getProductsClass($product_id); 
     235 
     236        // XXX #1188 UPDATE だとデータの不整合が発生するため DELETE/INSERT を行う 
     237        $objQuery->delete('dtb_products_class', 'product_id = ? AND class_combination_id IS NOT NULL', array($product_id)); 
    238238 
    239239        for ($i = 0; $i < $total; $i++) { 
     
    248248            $arrPC = array(); 
    249249            foreach ($registerKeys as $key) { 
    250                 if ($del_flg === 0) { 
    251                     $arrPC[$key] = $arrList[$key][$i]; 
    252                 } 
     250                $arrPC[$key] = $arrList[$key][$i]; 
    253251            } 
    254252            $arrPC['product_id'] = $product_id; 
     
    264262            $arrPC['del_flg'] = $del_flg; 
    265263 
    266             // 登録 or 更新 
    267             $is_update = false; 
    268             if (!SC_Utils_Ex::isBlank($arrList['product_class_id'][$i])) { 
    269                 $is_update = true; 
    270  
    271                 // 更新の場合は規格組み合わせを検索し, 削除しておく 
    272                 $class_combination_id = $arrExists[$arrList['product_class_id'][$i]]['class_combination_id']; 
    273                 $existsCombi = $objQuery->getRow( 
    274                     '*', 
    275                     'dtb_class_combination', 
    276                     'class_combination_id = ?', 
    277                     array($class_combination_id)); 
    278  
    279                 $objQuery->delete('dtb_class_combination', 
    280                                   'class_combination_id IN (?, ?)', 
    281                                   array($existsCombi['class_combination_id'], 
    282                                         $existsCombi['parent_class_combination_id'])); 
    283             } 
     264            $class_combination_id = $arrExists[$arrList['product_class_id'][$i]]['class_combination_id']; 
     265            $existsCombi = $objQuery->getRow('*', 'dtb_class_combination', 
     266                                             'class_combination_id = ?', 
     267                                             array($class_combination_id)); 
     268 
     269            $objQuery->delete('dtb_class_combination', 
     270                              'class_combination_id IN (?, ?)', 
     271                              array($existsCombi['class_combination_id'], 
     272                                    $existsCombi['parent_class_combination_id'])); 
    284273 
    285274            // 規格組み合わせを登録 
     
    302291            } 
    303292 
    304             // 更新 
    305             if ($is_update) { 
    306                 $arrPC['product_class_id'] = $arrList['product_class_id'][$i]; 
    307                 $objQuery->update("dtb_products_class", $arrPC, 
    308                                   "product_class_id = ?", 
    309                                   array($arrPC['product_class_id'])); 
    310             } 
    311             // 新規登録 
    312             else { 
    313                 $arrPC['create_date'] = "now()"; 
    314                 $arrPC['product_class_id'] = $objQuery->nextVal('dtb_products_class_product_class_id'); 
    315                 /* 
    316                  * チェックを入れない商品は product_type_id が NULL になるので, 0 を入れる 
    317                  */ 
    318                 $arrPC['product_type_id'] = SC_Utils_Ex::isBlank($arrPC['product_type_id']) ? 0 : $arrPC['product_type_id']; 
    319                 $objQuery->insert("dtb_products_class", $arrPC); 
    320             } 
     293            $arrPC['create_date'] = "now()"; 
     294            $arrPC['product_class_id'] = $objQuery->nextVal('dtb_products_class_product_class_id'); 
     295            /* 
     296             * チェックを入れない商品は product_type_id が NULL になるので, 0 を入れる 
     297             */ 
     298            $arrPC['product_type_id'] = SC_Utils_Ex::isBlank($arrPC['product_type_id']) ? 0 : $arrPC['product_type_id']; 
     299 
     300            $objQuery->insert("dtb_products_class", $arrPC); 
    321301        } 
    322302 
Note: See TracChangeset for help on using the changeset viewer.