Changeset 23408


Ignore:
Timestamp:
2014/05/12 13:36:22 (7 years ago)
Author:
m_uehara
Message:

#2541 SC_Helper_Addressの処理の改善

Location:
branches/version-2_13_2
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_13_2/data/class/helper/SC_Helper_Address.php

    r23279 r23408  
    4040    { 
    4141        if (self::delivErrorCheck($sqlval)) { 
    42             SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', false, "入力値が不正です。<br />正しい値を入力してください。"); 
    43             SC_Response_Ex::actionExit(); 
     42            return false; 
    4443        } 
    4544         
     
    5655            $deliv_count = $objQuery->count($from, $where, $arrVal); 
    5756            if ($deliv_count >= DELIV_ADDR_MAX) { 
    58                 SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', false, '別のお届け先最大登録数に達しています。'); 
    59                 SC_Response_Ex::actionExit(); 
     57                return false; 
    6058            } 
    6159 
    6260            // 別のお届け先を追加 
    6361            $sqlval['other_deliv_id'] = $objQuery->nextVal('dtb_other_deliv_other_deliv_id'); 
    64             $objQuery->insert($from, $sqlval); 
     62            $ret = $objQuery->insert($from, $sqlval); 
    6563 
    6664        // 変更 
     
    7169            $deliv_count = $objQuery->count($from, $where, $arrVal); 
    7270            if ($deliv_count != 1) { 
    73                 SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', false, '一致する別のお届け先がありません。'); 
    74                 SC_Response_Ex::actionExit(); 
     71                return false; 
    7572            } 
    7673 
    7774            // 別のお届け先を変更 
    78             $objQuery->update($from, $sqlval, $where, $arrVal); 
     75            $ret = $objQuery->update($from, $sqlval, $where, $arrVal); 
    7976        } 
     77         
     78        return $ret; 
    8079    } 
    8180 
     
    8685     * @return array() 
    8786     */ 
    88     public function getAddress($other_deliv_id) 
     87    public function getAddress($other_deliv_id, $customer_id = '') 
    8988    { 
    90         $objCustomer = new SC_Customer_Ex(); 
    91         $customer_id = $objCustomer->getValue('customer_id'); 
    92          
    9389        if (self::delivErrorCheck(array('customer_id' => $customer_id, 'other_deliv_id' => $other_deliv_id))) { 
    94             SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', false, "入力値が不正です。<br />正しい値を入力してください。"); 
    95             SC_Response_Ex::actionExit(); 
     90            return false; 
    9691        } 
    9792         
     
    117112    { 
    118113        if (self::delivErrorCheck(array('customer_id' => $customer_id))) { 
    119             SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', false, "入力値が不正です。<br />正しい値を入力してください。"); 
    120             SC_Response_Ex::actionExit(); 
     114            return false; 
    121115        } 
    122116         
     
    141135     * @return void 
    142136     */ 
    143     public function deleteAddress($other_deliv_id) 
     137    public function deleteAddress($other_deliv_id, $customer_id = '') 
    144138    { 
    145         $objCustomer = new SC_Customer_Ex(); 
    146         $customer_id = $objCustomer->getValue('customer_id'); 
    147  
    148139        if (self::delivErrorCheck(array('customer_id' => $customer_id, 'other_deliv_id' => $other_deliv_id))) { 
    149             SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', false, "入力値が不正です。<br />正しい値を入力してください。"); 
    150             SC_Response_Ex::actionExit(); 
     140            return false; 
    151141        } 
    152142         
     
    156146        $where  = 'customer_id = ? AND other_deliv_id = ?'; 
    157147        $arrVal = array($customer_id, $other_deliv_id); 
    158         $objQuery->delete($from, $where, $arrVal); 
     148        return $objQuery->delete($from, $where, $arrVal); 
    159149    } 
    160150 
  • branches/version-2_13_2/data/class/pages/mypage/LC_Page_Mypage_Delivery.php

    r23124 r23408  
    8383                } 
    8484 
    85                 $objAddress->deleteAddress($objFormParam->getValue('other_deliv_id')); 
     85                if (!$objAddress->deleteAddress($objFormParam->getValue('other_deliv_id'), $customer_id)) { 
     86                    SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', false, '別のお届け先を削除できませんでした。'); 
     87                    SC_Response_Ex::actionExit(); 
     88                } 
    8689                break; 
    8790 
  • branches/version-2_13_2/data/class/pages/mypage/LC_Page_Mypage_DeliveryAddr.php

    r23279 r23408  
    141141 
    142142                if ($_GET['other_deliv_id'] != '') { 
    143                     $arrOtherDeliv = $objAddress->getAddress($_SESSION['other_deliv_id']); 
     143                    $arrOtherDeliv = $objAddress->getAddress($_SESSION['other_deliv_id'], $objCustomer->getValue('customer_id')); 
    144144 
    145145                    //不正アクセス判定 
     
    172172        $sqlval['customer_id'] = $customer_id; 
    173173 
    174         $objAddress->registAddress($sqlval); 
     174        if (!$objAddress->registAddress($sqlval)) { 
     175            SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', false, '別のお届け先を登録できませんでした。'); 
     176            SC_Response_Ex::actionExit(); 
     177        } 
    175178    } 
    176179 
  • branches/version-2_13_2/data/class/pages/shopping/LC_Page_Shopping_Deliv.php

    r23256 r23408  
    112112            // 削除 
    113113            case 'delete': 
    114                 $objAddress->deleteAddress($arrForm['other_deliv_id']); 
     114                if (!$objAddress->deleteAddress($arrForm['other_deliv_id'], $objCustomer->getValue('customer_id'))) { 
     115                    SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', false, '別のお届け先を削除できませんでした。'); 
     116                    SC_Response_Ex::actionExit(); 
     117                } 
    115118                break; 
    116119 
     
    225228        // 別のお届け先がチェックされている場合 
    226229        else { 
    227             $arrOtherDeliv = $objAddress->getAddress($other_deliv_id); 
     230            $arrOtherDeliv = $objAddress->getAddress($other_deliv_id, $objCustomer->getValue('customer_id')); 
    228231            if (!$arrOtherDeliv) { 
    229232                return false; 
  • branches/version-2_13_2/data/class/pages/shopping/LC_Page_Shopping_Multiple.php

    r23230 r23408  
    302302            if ($objCustomer->isLoginSuccess(true)) { 
    303303                if ($other_deliv_id != 0) { 
    304                     $otherDeliv = $objAddress->getAddress($other_deliv_id); 
     304                    $otherDeliv = $objAddress->getAddress($other_deliv_id, $objCustomer->getValue('customer_id')); 
     305 
     306                    if (!$otherDeliv) { 
     307                        SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', false, "入力値が不正です。<br />正しい値を入力してください。"); 
     308                        SC_Response_Ex::actionExit(); 
     309                    } 
     310 
    305311                    foreach ($otherDeliv as $key => $val) { 
    306312                        $arrValues[$other_deliv_id]['shipping_' . $key] = $val; 
  • branches/version-2_13_2/tests/class/helper/SC_Helper_Address/SC_Helper_Address_deleteAddressTest.php

    r23294 r23408  
    1313        parent::setUp(); 
    1414        $this->objAddress = new SC_Helper_Address_Ex(); 
    15         $_SESSION['customer']['customer_id'] = 1; // 会員じゃないとテストが落ちる 
    1615    } 
    1716 
     
    2726        $this->setUpAddress(); 
    2827        $other_deliv_id = '1000'; 
     28        $customer_id = 1; 
    2929        $this->expected = NULL; 
    30         $this->objAddress->deleteAddress($other_deliv_id); 
     30        $this->objAddress->deleteAddress($other_deliv_id, $customer_id); 
    3131        $objQuery   =& SC_Query_Ex::getSingletonInstance(); 
    3232        $select = '*'; 
    3333        $from = 'dtb_other_deliv'; 
    34         $where = 'other_deliv_id = ?'; 
    35         $whereVal = array($other_deliv_id); 
     34        $where = 'other_deliv_id = ? AND customer_id = ?'; 
     35        $whereVal = array($other_deliv_id, $customer_id); 
    3636        $this->actual = $objQuery->getRow($select, $from, $where, $whereVal); 
    3737 
    3838        $this->verify('登録配送先削除'); 
    3939    } 
     40 
     41    public function testdeleteAddressTest_会員IDを設定しない場合_FALSEを返す() 
     42    { 
     43        $this->setUpAddress(); 
     44        $other_deliv_id = '1000'; 
     45        $this->expected = FALSE; 
     46        $this->actual = $this->objAddress->deleteAddress($other_deliv_id); 
     47 
     48        $this->verify('登録配送先削除'); 
     49    } 
    4050} 
  • branches/version-2_13_2/tests/class/helper/SC_Helper_Address/SC_Helper_Address_getAddressTest.php

    r23294 r23408  
    1313        parent::setUp(); 
    1414        $this->objAddress = new SC_Helper_Address_Ex(); 
    15         $_SESSION['customer']['customer_id'] = 1; // 会員じゃないとテストが落ちる 
    1615    } 
    1716 
     
    2827        $this->setUpAddress(); 
    2928        $other_deliv_id = '999'; 
     29        $customer_id = 1; 
     30        $this->expected = FALSE; 
     31        $this->actual = $this->objAddress->getAddress($other_deliv_id, $customer_id); 
     32 
     33        $this->verify('登録配送先取得'); 
     34    } 
     35     
     36    public function testgetAddressTest_会員IDを設定しない場合_FALSEを返す() 
     37    { 
     38        $this->setUpAddress(); 
     39        $other_deliv_id = '1001'; 
    3040        $this->expected = FALSE; 
    3141        $this->actual = $this->objAddress->getAddress($other_deliv_id); 
     
    3848        $this->setUpAddress(); 
    3949        $other_deliv_id = '1001'; 
     50        $customer_id = 1; 
    4051        $this->expected = array( 
    4152                'other_deliv_id' => '1001', 
     
    6071                'zipcode' => null 
    6172            ); 
    62         $this->actual = $this->objAddress->getAddress($other_deliv_id); 
     73        $this->actual = $this->objAddress->getAddress($other_deliv_id, $customer_id); 
    6374 
    6475        $this->verify('登録配送先取得'); 
Note: See TracChangeset for help on using the changeset viewer.