Ticket #492 (closed バグ指摘: 修正済)

Opened 11 years ago

Last modified 10 years ago

注文者情報の更新漏れ

Reported by: Seasoft Owned by: somebody
Priority: Milestone: EC-CUBE2.4.2
Component: フロント Version: 2.3.3
Keywords: Cc:
修正済み:

Description

フォーラムにて shiro 様の報告。

報告の手順だと、SC_Helper_DB#sfRegistTempOrder により、

  • ①で、INSERT
  • ③で、UPDATE

が実行される。

INSERT で登録したカラムを、UPDATE で更新していないのが原因と推測。

いつもお世話になっております。
少し長くなりますが、どなたか教えていただけたらと思います。

注文完了メールに注文者情報を表示させるようにし、動作確認をしていたところ、
注文者情報が更新されないときがありました。

調べた結果、
①非会員でお支払方法の指定画面まで進む
  ↓
②会員登録(このときに名前、住所、メールアドレス等を①で入力した内容から変更)
  ↓
③決済

すると、会員登録後のお届け先指定画面で選択したのが『会員登録住所』なら
order_email と order_birth
『追加登録住所』なら
order_name01、 order_name02、order_kana01、order_kana02、order_zip01、order_zip02、
order_pref、order_addr01、order_addr02、order_email、order_tel01、 order_tel02、
order_tel03、order_fax01、order_fax02、order_fax03
が非会員のときに入力した内容で『dtb_order』テーブルに登録されてました。

/data/class/pages/shopping/LC_Page_Shopping_Deliv.php
で更新してるようなので以下を追加しました。

function lfRegistDelivData の中に

        $sqlval['order_email'] = $objCustomer->getValue('email');
        $sqlval['order_birth'] = $objCustomer->getValue('birth');



function lfRegistOtherDelivData の中に

        $sqlval['order_name01'] = $objCustomer->getValue('name01');
        $sqlval['order_name02'] = $objCustomer->getValue('name02');
        $sqlval['order_kana01'] = $objCustomer->getValue('kana01');
        $sqlval['order_kana02'] = $objCustomer->getValue('kana02');
        $sqlval['order_zip01'] = $objCustomer->getValue('zip01');
        $sqlval['order_zip02'] = $objCustomer->getValue('zip02');
        $sqlval['order_pref'] = $objCustomer->getValue('pref');
        $sqlval['order_addr01'] = $objCustomer->getValue('addr01');
        $sqlval['order_addr02'] = $objCustomer->getValue('addr02');
        $sqlval['order_email'] = $objCustomer->getValue('email');
        $sqlval['order_tel01'] = $objCustomer->getValue('tel01');
        $sqlval['order_tel02'] = $objCustomer->getValue('tel02');
        $sqlval['order_tel03'] = $objCustomer->getValue('tel03');
        $sqlval['order_fax01'] = $objCustomer->getValue('fax01');
        $sqlval['order_fax02'] = $objCustomer->getValue('fax02');
        $sqlval['order_fax03'] = $objCustomer->getValue('fax03');



ここで気になっているのは、単なる漏れなのか、それとも意図があってのことなのか、
どちらなのかいまいち分からないので教えていただきたく質問しました。
宜しくお願いします。

Change History

comment:1 follow-up: ↓ 3 Changed 11 years ago by kajiwara

  • Priority changed from to

shiro様、Seasoft様 本件、ご報告ありがとうございます。

ただ、本件ですが、レアケースであるのと、カスタマイズした場合の不具合?だと思われますので、一旦、優先度を低に下げさせていただきます。

また、ユーザビリティの観点から言って、最後で指定した情報と、メールで飛ばされる情報とが異なっていることは、あまり良いとは思わないので、基本的には修正する方向性で良いと思います。
追々修正するというステータスにしたいと思います。

comment:2 Changed 11 years ago by kajiwara

  • Milestone changed from EC-CUBE2.4.1 to EC-CUBE2.4.2

申し訳ございません。 こちら、マイルストーンを2.4.2に変更させていただきたいと思います。

comment:3 in reply to: ↑ 1 Changed 11 years ago by Seasoft

  • Priority changed from to

kajiwara への返信

ただ、本件ですが、レアケースであるのと、カスタマイズした場合の不具合?だと思われますので、一旦、優先度を低に下げさせていただきます。

カスタマイズした場合の不具合ではないので、優先度を中に戻させていただきます。

当方でも、shiro 様のご指摘通りに不具合が再現することを確認しました。

comment:4 Changed 11 years ago by kajiwara

  • Status changed from new to closed
  • Resolution set to 修正済

デフォルトの不具合であることを確認しました。 失礼しました。

r18368 にて対応しました。

よろしくお願いいたします。

comment:5 Changed 10 years ago by Seasoft

コミュニティ r18455

Note: See TracTickets for help on using tickets.