Backport(バックポート) #2377
完了イベント参加画面にてエラーのアラートが表示され続ける
100%
説明
Overview (現象)¶
イベント参加画面にて、イベントに参加時等にエラーになった場合(例:定員エラー)
「このイベントは定員に達しています」等のアラートが表示されるが、
その後、他の画面に遷移した場合アラートが消えずに残ってしまう。
(さらに他の画面に遷移した場合にアラートが消える)
再現バージョン¶
- masterブランチ
- stable-0.9.xブランチ
再現手順¶
1.定員が一人のコミュニティイベントを作成する
2. 1のイベントにアクセスする(「このイベントに参加する」ボタンが表示されている)
3. 2の画面を開いている状態で、別のユーザで1 のイベントに参加する(定員になる)
4. 2の画面にに戻りイベントに参加する
5.「このイベントは定員に達しています」表示されることを確認する
6. 5の状態で、任意のリンクをクリックする(例:「イベントリスト」)
7.「このイベントは定員に達しています」の表示がされたままになる
Causes (原因)¶
#2353 と同様に、plugins/opCommunityTopicPlugin/lib/action/opCommunityTopicPluginEventCommentActions.class.phpのexecuteCreate()内で
$this->getUser()->setFlash()を利用してセットしているが
上記メソッドは次のアクションまでセットされたメッセージを保持するため
別のページに行った場合でも
メッセージが表示され続けてしまっている
Way to fix (修正内容)¶
$this->getUser()->setFlash()の第3引数($persist)をfalseにする
Yuma Sakata さんがほぼ13年前に更新
再現確認できました。
Environment (再現バージョン)¶
OpenPNE3.4.20
Way to repro (再現手順)¶
1. 定員が一人のコミュニティイベントを作成する
2. 手順1 のイベントにアクセスする(「このイベントに参加する」ボタンが表示されている)
3. 手順2 の画面を開いている状態で、別のユーザで手順1 のイベントに参加する(定員になる)
4. 手順2 の画面にに戻りイベントに参加する
5. 「このイベントは定員に達しています」表示されることを確認する
6. 手順5 の状態で、任意のリンクをクリックする(例:「イベントリスト」)
7. 「このイベントは定員に達しています」の表示がされたままになる
Way to fix (修正内容)¶
任意のリンクをクリックした場合、「このイベントは定員に達しています」エラーメッセージが表示されないように修正お願いします。
Yuya Watanabe さんが12年以上前に更新
- ステータス を New(新規) から Accepted(着手) に変更
- 担当者 を Yuya Watanabe にセット
Yuya Watanabe さんが12年以上前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
Kousuke Ebihara さんが12年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
Yuma Sakata さんが12年以上前に更新
- ステータス を Pending Testing(テスト待ち) から Fixed(完了) に変更
- 進捗率 を 70 から 100 に変更
テストOKです。