Changeset 22118


Ignore:
Timestamp:
2012/12/03 07:56:32 (11 years ago)
Author:
Seasoft
Message:

#1966 (LC_Page_Admin_Order_Mail 送信処理のバリデーションエラー時に再度バリデーションが実行される)
#1967 (LC_Page_Admin_Order_Mail#changeData DB 取得の有無判定に誤り)
#1975 (LC_Page_Admin_Order_Mail 入力内容の引き継ぎを単純にする)
#1905 (typo修正・ソース整形・ソースコメントの改善)

Location:
branches/version-2_12-dev/data
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_12-dev/data/Smarty/templates/admin/order/mail_confirm.tpl

    r21867 r22118  
    2727<input type="hidden" name="mode" value="send" /> 
    2828<input type="hidden" name="order_id_array" value="<!--{$order_id_array}-->" /> 
    29 <!--{foreach key=key item=item from=$arrHidden}--> 
    30 <input type="hidden" name="<!--{$key}-->" value="<!--{$item|h}-->" /> 
     29<!--{foreach key=key item=item from=$arrForm}--> 
     30<input type="hidden" name="<!--{$key}-->" value="<!--{$item.value|h}-->" /> 
    3131<!--{/foreach}--> 
    3232<!--{foreach key=key item=item from=$arrSearchHidden}--> 
  • branches/version-2_12-dev/data/class/pages/admin/order/LC_Page_Admin_Order_Mail.php

    r21981 r22118  
    108108        $this->arrSearchHidden = $objFormParam->getSearchArray(); 
    109109 
     110        // 履歴を読み込むか 
     111        $load_history = SC_Utils_Ex::sfIsInt($this->tpl_order_id); 
     112 
    110113        switch ($this->getMode()) { 
    111             case 'pre_edit': 
    112             case 'mail_select': 
    113                 break; 
    114             case 'return': 
    115                 break; 
     114            case 'confirm': 
     115                $status = $this->confirm($objFormParam); 
     116                if ($status === true) { 
     117                    $load_history = false; 
     118                } else { 
     119                    $this->arrErr = $status; 
     120                } 
     121                break; 
     122 
    116123            case 'send': 
    117124                $sendStatus = $this->doSend($objFormParam); 
    118125                if ($sendStatus === true) { 
    119  
    120126                    SC_Response_Ex::sendRedirect(ADMIN_ORDER_URLPATH); 
    121127                    SC_Response_Ex::actionExit(); 
    122                 } else { 
    123                     $this->arrErr = $sendStatus; 
    124128                } 
    125             case 'confirm': 
    126                 $status = $this->confirm($objFormParam); 
    127                 if ($status === true) { 
    128                     $this->arrHidden = $objFormParam->getHashArray(); 
    129  
    130                     return ; 
    131                 } else { 
    132                     $this->arrErr = $status; 
    133                 } 
    134                 break; 
     129                $this->arrErr = $sendStatus; 
     130                break; 
     131 
    135132            case 'change': 
    136133                $objFormParam =  $this->changeData($objFormParam); 
    137134                break; 
    138         } 
    139  
    140         if (SC_Utils_Ex::sfIsInt($objFormParam->getValue('order_id'))) { 
    141             $this->arrMailHistory = $this->getMailHistory($objFormParam->getValue('order_id')); 
    142         } 
    143  
     135 
     136            case 'pre_edit': 
     137            case 'mail_select': 
     138            case 'return': 
     139            default: 
     140                break; 
     141        } 
     142 
     143        // 入力内容の引き継ぎ 
    144144        $this->arrForm = $objFormParam->getFormParamList(); 
    145145 
     146        if ($load_history) { 
     147            $this->arrMailHistory = $this->getMailHistory($this->tpl_order_id); 
     148        } 
    146149    } 
    147150 
     
    172175            foreach ($order_id_array as $order_id){ 
    173176                $objMail = new SC_Helper_Mail_Ex(); 
    174                 $objMail->setPage($this); 
    175177                $objSendMail = $objMail->sfSendOrderMail($order_id, 
    176178                $objFormParam->getValue('template_id'), 
     
    195197            // 注文受付メール(送信なし) 
    196198            $objMail = new SC_Helper_Mail_Ex(); 
    197             $objMail->setPage($this); 
    198199            $objSendMail = $objMail->sfSendOrderMail( 
    199200                $objFormParam->getValue('order_id'), 
     
    218219     */ 
    219220    function changeData(&$objFormParam) { 
    220         if (SC_Utils_Ex::sfIsInt($objFormParam->getValue('template_id'))) { 
    221             $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    222             $where = 'template_id = ?'; 
    223             $mailTemplates = $objQuery->select('subject, header, footer', 'dtb_mailtemplate', $where, array($objFormParam->getValue('template_id'))); 
    224             if (!is_null($mailTemplates)) { 
    225                 foreach (array('subject','header','footer') as $key) { 
    226                     $objFormParam->setValue($key,$mailTemplates[$key]); 
    227                 } 
     221        $objQuery =& SC_Query_Ex::getSingletonInstance(); 
     222 
     223        if (!SC_Utils_Ex::sfIsInt($objFormParam->getValue('template_id'))) { 
     224            trigger_error('テンプレートが指定されていません。', E_USER_ERROR); 
     225        } 
     226 
     227        $where = 'template_id = ?'; 
     228        $arrWhereVal = array($objFormParam->getValue('template_id')); 
     229        $mailTemplates = $objQuery->getRow('subject, header, footer', 'dtb_mailtemplate', $where, $arrWhereVal); 
     230        if (empty($mailTemplates)) { 
     231            foreach (array('subject','header','footer') as $key) { 
     232                $objFormParam->setValue($key, ''); 
    228233            } 
    229             $objFormParam->setParam($mailTemplates[0]); 
    230234        } else { 
    231             foreach (array('subject','header','footer') as $key) { 
    232                 $objFormParam->setValue($key,''); 
    233             } 
    234         } 
     235            $objFormParam->setParam($mailTemplates); 
     236        } 
     237 
    235238        return $objFormParam; 
    236239    } 
Note: See TracChangeset for help on using the changeset viewer.