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

Opened 10 years ago

Last modified 10 years ago

モバイル>携帯メールアドレスを登録しているのに、カートから「注文する」でログインすると、携帯メール登録画面が表示される

Reported by: shutta Owned by: shutta
Priority: Milestone: EC-CUBE2.11.1
Component: フロント Version: 2.11.0
Keywords: Cc:
修正済み: yes

Description

コミュニティーより転載

2.11.0 携帯メール登録画面
 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=7717&forum=8

[現象]
携帯から登録し、一旦ログアウト後に買い物をし、カートから「注文する」でログインすると、携帯メール登録画面が表示される。

データベース上はemailとemail_mobileの両方に携帯メアドが登録されていますので、本来ならこの画面は出ない方が良いのかと思います。

調べたのですが、
/data/class/pages/shopping/LC_Page_Shopping.php
function hasEmailMobile のチェックがおかしい気がします。

emailに携帯メアドが入っているときに戻り値がfalseで返る部分がまずいのかと。

Change History

comment:1 Changed 10 years ago by shutta

  • Owner changed from somebody to shutta
  • Status changed from new to assigned

comment:2 Changed 10 years ago by shutta

  • 修正済み set

携帯メールアドレスかどうかの判定が逆になっていたのを修正。(r20805)

comment:3 Changed 10 years ago by shutta

  • 修正済み unset

コミュニティーより下記指摘があったため差し戻します。

 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=7717&forum=8&post_id=37469

修正を適用してデバッグしたのですが、次のケースでまだおかしい様です。

テストデータの準備としては、
PCで登録→携帯で注文する(PCアドレスを使用してログイン)→携帯メール登録画面で携帯アドレスを登録

次に、一度ログアウト状態から携帯で注文する→また携帯メール登録画面が出てしまう。

確認ですが、hasEmailMobileで、emailに入っているメアドが携帯か否かの判定って必要ですかね?

単純に下記のコーディングにしちゃ駄目ですかね?
return $objCustomer->hasValue('email_mobile');

一応検索したら、他では使っていない様なのですが、他への影響が不明で・・・

comment:4 Changed 10 years ago by shutta

  • 修正済み set

r20806 にて修正。

携帯メールの登録が無い場合に、携帯メール登録画面を出すためのチェックという意味合いから考えて、email_mobileの登録があるか無いかをチェックすれば問題ないはずなので、kwhr1972さんの意見をそのまま取り込みました。

ただ、携帯メールアドレス関連で、 #1233 #1236 も関連しそう。

comment:5 Changed 10 years ago by kajiwara

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

kwhr1972さん、shuttaさん

本件、ご報告、及び修正作業 誠にありがとうございました。

本件の事象に関して、修正されていることを確認いたしました。

Note: See TracTickets for help on using tickets.