TODO #18683

setMessage を複数利用できるようにする

渕上 将和7ヶ月前に追加. 3ヶ月前に更新.

ステータス:担当開始日:
優先度:通常期日:
担当者:渕上 将和進捗率:

0%

カテゴリ:管理画面全般
対象バージョン:4.0.11

説明

- setMessage を続けて2つ利用したい場合に、2つ目の内容でひとつ目が上書きされてしまうため
- 後方互換は保ち、過去のコードはそのまま利用できるようにしておくこと

履歴

#1 渕上 将和7ヶ月前に更新

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

この件は、相談の上、setMessage をラッピングして、例として setSuccess, setError のように、複数の用途に分けるカタチとしたりするなど、もう少し調整の必要があることがわかった。

ちなみに、Cakeでは3種類、
/lib/Cake/View/Elements/Flash/default.ctp
/lib/Cake/View/Elements/Flash/error.ctp
/lib/Cake/View/Elements/Flash/success.ctp

Bootstrap では7種類のアラート分けがあることがわかった。
https://getbootstrap.com/docs/4.0/components/alerts/

#2 権藤 隆行7ヶ月前に更新

ざっとみてて思ったことを書いてみます。

7種のうち下記は色分けだけの情報のため除外可能かと思います。
・ light alert
・dark alert

現在の管理画面のエラー設計としては「成功」「失敗」の2種類になっているとおもいますので、そこを継承する形で、primary、secondaryを除外した下記がいいかと思います。
・success alert (成功)
・danger alert(失敗)
・warning alert
・info alert

目的ですが、今回増やす原因となった情報はwarningにあたるかと思います。
success → 処理が正常に完了した情報
danger → 処理が正常に完了しなかった情報
warning → 動作に問題ないがが変更したほうがいい情報
info → 閲覧ページに強調表示したい情報

メソッド名としては、ControllerがsetMessageを保持しているので下記だと使いやすいなぁと思いました。
setSuccessMessage(String $message, $log = true)
setErrorMessage(String $message, $log = true)
setWarningMessage(String $message, $log = true)
setInfoMessage(String $message, $log = true)

短くする場合は messageSuccess()とかalertSuccess()とかですかねぇalertSuccessでなんかへんですが。

setSuccessやsetErrorだけではコントローラに存在する情報としてわかりにくいかと思います。

#3 権藤 隆行7ヶ月前に更新

でも、複数flashメッセージを表示したいという機能要望には対応してないっすね。。

#4 江頭 竜二7ヶ月前に更新

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

今回の 4.0.7 では設計まとめられそうにないので見送ります。

#5 江頭 竜二6ヶ月前に更新

  • 対象バージョン4.0.8 から 4.0.9 に変更

#6 江頭 竜二5ヶ月前に更新

  • 対象バージョン4.0.9 から 4.0.10 に変更

#7 江頭 竜二3ヶ月前に更新

  • 対象バージョン4.0.10 から 4.0.11 に変更

4.0.10 、明日リリースで間に合わないので見送ります。

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