プロジェクト

全般

プロフィール

Bug(バグ) #578

完了

受信しているはずのメッセージが受信メッセージに表示されない。

Masato Nagasawa さんがほぼ15年前に追加. 14年以上前に更新.

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

100%

予定工数:
3.6 で発生するか:
[QA]バグ通知済:
3.8 で発生するか:

説明

以下の個所で is_send が true の場合に表示するようにしていますが、正しい動作になっていません。

plugins/opMessagePlugin/lib/model/doctrine/PluginMessageSendListTable.class.php
28 ->andWhere('message_id IN (SELECT id FROM SendMessageData WHERE is_send = ?)', true);

以下のように修正するのが良いのではないかと思います。

->andWhere('SendMessageData.is_send = ?', true);

Shinichi Urabe さんがほぼ15年前に更新

高橋さんに確認しました。
Doctrine化されている9系のバグについては弊社側で責任をもって対応していくとの方針で確認しましたので対応をお願いします。
to 長澤さん

Masato Nagasawa さんが14年以上前に更新

上記の修正ではJOINしていまうため修正方針を変更します。
そもそも表示できなくなる原因は、サブクエリの取得で明示的にテーブル名を指定してないのが原因でした。

以下が発行されるSQLです。

SELECT COUNT(*) AS num_results FROM (SELECT m.id FROM message_send_list m WHERE m.member_id = '1' AND m.is_deleted = 0 AND m.message_id IN (SELECT m.id AS m__id FROM message m2 WHERE (m2.is_send = 1)) GROUP BY m.id) dctrn_count_query

この SQL では SELECT で返される id が常に messe_send_list の id になってしまいます。

修正後のコード:

->andWhere('message_id IN (SELECT m2.id FROM SendMessageData m2 WHERE m2.is_send = ?)', true);

Masato Nagasawa さんが14年以上前に更新

  • 進捗率0 から 50 に変更

以下のリビジョンで修正しました。
http://trac.openpne.jp/changeset/13340

Shinichi Urabe さんが14年以上前に更新

  • プロジェクトOpenPNE3 Plugins から opMessagePlugin に変更

Shinichi Urabe さんが14年以上前に更新

  • ステータスNew(新規) から Pending Review(レビュー待ち) に変更
  • 担当者Masato Nagasawa にセット

Rimpei Ogawa さんが14年以上前に更新

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

確認しました。

Shinichi Urabe さんが14年以上前に更新

  • 対象バージョン0.9.0.3 にセット

Masato Nagasawa さんが14年以上前に更新

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

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

Shinichi Urabe さんが14年以上前に更新

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

Hiroki Mogi さんが14年以上前に更新

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

テストを実施しました。問題ありませんでした。

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