プロジェクト

全般

プロフィール

Bug(バグ) #840

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

Shinichi Urabe約14年前に追加. ほぼ14年前に更新.

ステータス:
Fixed(完了)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
2010-03-11
期日:
進捗率:

100%

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

説明

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

現象

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

原因

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

修正内容

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


関連するチケット

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

関係しているリビジョン

リビジョン 76d3a07b (差分)
Shinichi Urabe約14年前に追加

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

リビジョン 63777611 (差分)
Shinichi Urabe約14年前に追加

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

リビジョン d6d26714 (差分)
Shinichi Urabe約14年前に追加

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

リビジョン 56ae0b11 (差分)
Shinichi Urabeほぼ14年前に追加

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

リビジョン 0790165e (差分)
Shinichi Urabeほぼ14年前に追加

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

リビジョン 213a96cb
Shinichi Urabeほぼ14年前に追加

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

リビジョン aec74fbd (差分)
Shinichi Urabeほぼ14年前に追加

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

リビジョン acbcc63b (差分)
Shinichi Urabeほぼ14年前に追加

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

リビジョン f85b63a3
Shinichi Urabeほぼ14年前に追加

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

リビジョン 89dd00c7 (差分)
Shinichi Urabeほぼ14年前に追加

(refs #840) Fixed syntax error.

履歴

#1 Shinichi Urabe約14年前に更新

  • 対象バージョン を削除 (OpenPNE 3.5.1)

次のバージョンへ見送り

#2 Shinichi Urabe約14年前に更新

  • ステータスNew(新規) から Accepted(着手) に変更
  • 対象バージョンOpenPNE 3.5.2 にセット

#3 Shinichi Urabe約14年前に更新

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

#4 Shinichi Urabe約14年前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

#5 Shinichi Urabe約14年前に更新

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

#6 Kiwa Sakaiほぼ14年前に更新

  • ステータスPending Review(レビュー待ち) から Rejected(差し戻し) に変更

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

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

#7 Shinichi Urabeほぼ14年前に更新

  • ステータスRejected(差し戻し) から Pending Review(レビュー待ち) に変更

56ae0b11 で修正しました。

#8 Kousuke Ebiharaほぼ14年前に更新

  • ステータスPending Review(レビュー待ち) から 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 Shinichi Urabeほぼ14年前に更新

  • ステータスRejected(差し戻し) から 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 Kiwa Sakaiほぼ14年前に更新

  • ステータスPending Review(レビュー待ち) から Rejected(差し戻し) に変更

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

#11 Shinichi Urabeほぼ14年前に更新

  • ステータスRejected(差し戻し) から Pending Review(レビュー待ち) に変更

#12 Kousuke Ebiharaほぼ14年前に更新

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

#13 Shinichi Urabeほぼ14年前に更新

  • ステータスRejected(差し戻し) から Pending Review(レビュー待ち) に変更

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

#14 Kousuke Ebiharaほぼ14年前に更新

  • ステータスPending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更

#15 Kiwa Sakaiほぼ14年前に更新

  • ステータスPending Testing(テスト待ち) から Rejected(差し戻し) に変更

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

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

#16 Shinichi Urabeほぼ14年前に更新

  • ステータスRejected(差し戻し) から Pending Review(レビュー待ち) に変更

#17 Kousuke Ebiharaほぼ14年前に更新

  • ステータスPending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更

#18 Kiwa Sakaiほぼ14年前に更新

  • ステータスPending Testing(テスト待ち) から Fixed(完了) に変更
  • 進捗率50 から 100 に変更

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

他の形式にエクスポート: Atom PDF