Bug(バグ) #965
完了プラグインを無効にした状態でmigrateを実行するとフォームに不要な要素が表示されるようになる
100%
説明
Shogo Kawahara さんが14年以上前に更新
- ステータス を New(新規) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
更新履歴 35aeb0a6516260959ba8877d89997c1229835abc で適用されました。
Kousuke Ebihara さんが14年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Rejected(差し戻し) に変更
問題ないように見えますが、パフォーマンスの観点から以下二点指摘させてください(細かいですが……)
opProjectConfiguration に正規表現でマッチングをおこなっている箇所がありますが、sf_task_name をセットしたい状況では $subject にはタスクのクラスインスタンスが格納されているのですから、 instanceof 演算子で sfTask を継承しているかどうかをチェックすればよいはずです。
$subject = $event->getSubject(); if (preg_match('/Task$/', get_class($subject))) { sfConfig::set('sf_task_name', get_class($subject)); }
また、 opApplicationConfiguration にも正規表現でマッチングをおこなっている箇所がありますが、前述のようなコードでは sf_task_name にタスクのクラス名以外の文字列が渡ることは考えにくいため、 Task で終わっている文字列かどうかをチェックする必要はないと思われます。
Task で終了しているかどうかのチェックが不要であるという前提だと、 sfDoctrineBuild で開始されているかどうかをチェックするだけになるので、正規表現よりも strpos() でのチェックの方がお手軽かつパフォーマンス的に有利ということになると思いますがどうでしょうか。
if (!preg_match('/^sfDoctrineBuild.*Task$/', sfConfig::get('sf_task_name')))
Shogo Kawahara さんが14年以上前に更新
- ステータス を Rejected(差し戻し) から Accepted(着手) に変更
確かにその通りです。修正します。
Kousuke Ebihara は書きました:
問題ないように見えますが、パフォーマンスの観点から以下二点指摘させてください(細かいですが……)
opProjectConfiguration に正規表現でマッチングをおこなっている箇所がありますが、sf_task_name をセットしたい状況では $subject にはタスクのクラスインスタンスが格納されているのですから、 instanceof 演算子で sfTask を継承しているかどうかをチェックすればよいはずです。
[...]また、 opApplicationConfiguration にも正規表現でマッチングをおこなっている箇所がありますが、前述のようなコードでは sf_task_name にタスクのクラス名以外の文字列が渡ることは考えにくいため、 Task で終わっている文字列かどうかをチェックする必要はないと思われます。
Task で終了しているかどうかのチェックが不要であるという前提だと、 sfDoctrineBuild で開始されているかどうかをチェックするだけになるので、正規表現よりも strpos() でのチェックの方がお手軽かつパフォーマンス的に有利ということになると思いますがどうでしょうか。
[...]
Shogo Kawahara さんが14年以上前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
更新履歴 0260664ac8c4cbe9cd716b88f5a7d8c26f0da61f で適用されました。
Kousuke Ebihara さんが14年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
Kiwa Sakai さんが14年以上前に更新
- ステータス を Pending Testing(テスト待ち) から Fixed(完了) に変更
- 進捗率 を 50 から 100 に変更