Project

General

Profile

Bug(バグ) #840

the nickname of member who does not have credentials not considered (非SNS のメンバー(足跡の一覧など) の表示名が考慮されていない)

Added by Shinichi Urabe over 11 years ago. Updated about 11 years ago.

Status:
Fixed(完了)
Priority:
Normal(通常)
Target version:
Start date:
2010-03-11
Due date:
% Done:

100%

3.6 で発生するか:
Unknown (未調査)
3.8 で発生するか:
Unknown (未調査)

Description

影響範囲が大きいため、この対応はOpenPNE3.5.xのみの対応とします

現象

退会したメンバー、非ログインのメンバー(足跡の一覧など) の表示で不要なリンク先が表示される

原因

Member テーブルとリレーションとして設定する member_id が null の場合の表示方法の対処がされていない。

修正内容

メンバーのリンク先を変更するヘルパー関数を作成する


Related issues

Related to OpenPNE 3 - Bug(バグ) #1079: op_link_to_member() を使っても、退会、未ログインのメンバーの対処ができていない Fixed(完了) 2010-05-15

Associated revisions

Revision 76d3a07b (diff)
Added by Shinichi Urabe over 11 years ago

(refs #840) Fixed bug of trouble that the nickname of member who does not have credentials not considered.

Revision 63777611 (diff)
Added by Shinichi Urabe over 11 years ago

(refs #840) Add op_link_to_member() function to member link.

Revision d6d26714 (diff)
Added by Shinichi Urabe over 11 years ago

(fixes #840) add op_link_to_member() unit test.

Revision 56ae0b11 (diff)
Added by Shinichi Urabe over 11 years ago

(refs #840) A wrong routing parameter is corrected.

Revision 0790165e (diff)
Added by Shinichi Urabe over 11 years ago

(refs #840) Because the instance cannot be acquired, it corrects getting "member id".

Revision 213a96cb
Added by Shinichi Urabe over 11 years ago

(refs #840) Merge branch 't-840'

Revision aec74fbd (diff)
Added by Shinichi Urabe over 11 years ago

(refs #840) It corresponded to the escape value.

Revision acbcc63b (diff)
Added by Shinichi Urabe over 11 years ago

(refs #840) The member_id was changed to escaped member object.

Revision f85b63a3
Added by Shinichi Urabe over 11 years ago

(refs #840) Merge branch 't-840'

Revision 89dd00c7 (diff)
Added by Shinichi Urabe over 11 years ago

(refs #840) Fixed syntax error.

History

#1 Updated by Shinichi Urabe over 11 years ago

  • Target version deleted (OpenPNE 3.5.1)

次のバージョンへ見送り

#2 Updated by Shinichi Urabe over 11 years ago

  • Status changed from New(新規) to Accepted(着手)
  • Target version set to OpenPNE 3.5.2

#3 Updated by Shinichi Urabe over 11 years ago

  • Subject changed from 退会したメンバー、非ログインのメンバー(足跡の一覧など) の表示で不要なリンク先が表示される to the nickname of member who does not have credentials not considered (非SNS のメンバー(足跡の一覧など) の表示名が考慮されていない)

#4 Updated by Shinichi Urabe over 11 years ago

  • Status changed from Accepted(着手) to Pending Review(レビュー待ち)
  • % Done changed from 0 to 50

#5 Updated by Shinichi Urabe over 11 years ago

更新履歴 d6d26714ce5ff6455646078dccacd01edbc2a73b で適用されました。

#6 Updated by Kiwa Sakai over 11 years ago

  • Status changed from Pending Review(レビュー待ち) to Rejected(差し戻し)

http://redmine.openpne.jp/projects/op3/repository/revisions/637776119102d6814b9865a850af42ebdf166551/diff/apps/pc_frontend/modules/friend/templates/_friendListBox.php

この変更でフレンドリストのmoreinfoのリンク先がプロフィール画面になってしまっています。

#7 Updated by Shinichi Urabe over 11 years ago

  • Status changed from Rejected(差し戻し) to Pending Review(レビュー待ち)

56ae0b11 で修正しました。

#8 Updated by Kousuke Ebihara over 11 years ago

  • Status changed from Pending Review(レビュー待ち) to Rejected(差し戻し)
  • 56ae0b11 の変更ですが、このリンクの生成に op_link_to_member() を用いる理由はありません(メンバーの存在如何によって文言を変えることが適切ではない)。これが何のリンクなのかをよく確認してください
  • たとえば _partsNineTable や _partsPhotoTable のようにパーツ内で link_to() をコールしている箇所が置換されていません(単純には置換できないところであるということは理解できますが、共通部分が対応されていないというのは中途半端な対応のように感じます)
  • op_link_to_member() は第一引数にメンバーIDのみを取りますが、これはコールする側で既に Member のインスタンスを取得済みであった場合などに無駄な DQL の生成がおこなわれるため、この関数の使用頻度が多くなればなるほど、パフォーマンスに影響を与えます。この関数は Member のインスタンスも受け入れられるようにしてください
  • apps/mobile_frontend/modules/friend/templates/listSuccess.php に置換時のミスと見られる表記があります(@obj_member_profil)
  • op_link_to_member() 第三引数を変更する機会が多く、第二引数を変更する機会が少ないのであれば、これらの立場を入れ替えるべきだと思います

#9 Updated by Shinichi Urabe over 11 years ago

  • Status changed from Rejected(差し戻し) to Pending Review(レビュー待ち)

コミットメッセージに refs の付け忘れです。。すみません。

f27e2c8d

Kousuke Ebihara は書きました:

  • 56ae0b11 の変更ですが、このリンクの生成に op_link_to_member() を用いる理由はありません(メンバーの存在如何によって文言を変えることが適切ではない)。これが何のリンクなのかをよく確認してください

こちら、今回の修正の目的と異なる修正でしたので、元に戻しました。

  • たとえば _partsNineTable や _partsPhotoTable のようにパーツ内で link_to() をコールしている箇所が置換されていません(単純には置換できないところであるということは理解できますが、共通部分が対応されていないというのは中途半端な対応のように感じます)

対処方法に悩んだのですが、use_op_link_to_member オプションを追加し、対処を行いました。一時的な対処である認識なので、別にチケットを作って、もっといい対処方法を検討したいと思います。

  • op_link_to_member() は第一引数にメンバーIDのみを取りますが、これはコールする側で既に Member のインスタンスを取得済みであった場合などに無駄な DQL の生成がおこなわれるため、この関数の使用頻度が多くなればなるほど、パフォーマンスに影響を与えます。この関数は Member のインスタンスも受け入れられるようにしてください

Member インスタンスを受け入れるように対処しました。

  • apps/mobile_frontend/modules/friend/templates/listSuccess.php に置換時のミスと見られる表記があります(@obj_member_profil)

こちらは、第二引数にオプションを設定できるように対処しましたので、ルーティング名自体は削除しています。

  • op_link_to_member() 第三引数を変更する機会が多く、第二引数を変更する機会が少ないのであれば、これらの立場を入れ替えるべきだと思います

入れ替えで対処しました。

追加でunit test も修正しています。
確認をお願いします。

#10 Updated by Kiwa Sakai over 11 years ago

  • Status changed from Pending Review(レビュー待ち) to Rejected(差し戻し)

アクティビティの一覧にて、存在するメンバーのニックネームも退会メンバー扱いになっています。確認をお願いします。

#11 Updated by Shinichi Urabe over 11 years ago

  • Status changed from Rejected(差し戻し) to Pending Review(レビュー待ち)

#12 Updated by Kousuke Ebihara over 11 years ago

  • Status changed from Pending Review(レビュー待ち) to Rejected(差し戻し)
  • _partsNineTable などについては、 op_link_to_member() に特化したオプションを付け加えるのであれば第一引数に ID を渡す形でコールしなくてもよいのではないでしょうか。複数のメンバーを取って来るとなるとやはりパフォーマンスの観点から懸念があります
  • op_link_to_member() がエスケープされた Member インスタンスを考慮していません。ヘルパーでクラスインスタンスを受け取るのであればその考慮も必要です

#13 Updated by Shinichi Urabe over 11 years ago

  • Status changed from Rejected(差し戻し) to Pending Review(レビュー待ち)

以下のリビジョンで修正しました。確認をお願いします。
acbcc63b8b668d229cb1f11ab69afb9e6cf31072
aec74fbdbbb3a02ba1ffa2e7dfc4b7341da4004a

#14 Updated by Kousuke Ebihara over 11 years ago

  • Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)

#15 Updated by Kiwa Sakai over 11 years ago

  • Status changed from Pending Testing(テスト待ち) to Rejected(差し戻し)

携帯版フレンドホームにて以下のようなエラーが表示ます

( ! ) Parse error: syntax error, unexpected ',' in /OPENPNE_DIR/apps/mobile_frontend/modules/friend/templates/_friendListBox.php on line 6

#16 Updated by Shinichi Urabe over 11 years ago

  • Status changed from Rejected(差し戻し) to Pending Review(レビュー待ち)

#17 Updated by Kousuke Ebihara over 11 years ago

  • Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)

#18 Updated by Kiwa Sakai over 11 years ago

  • Status changed from Pending Testing(テスト待ち) to Fixed(完了)
  • % Done changed from 50 to 100

SNS全体を確認する必要がありますが今回はひとまず閉じます。

Also available in: Atom PDF