操作
Bug(バグ) #871
完了Daily news is not sent to the default setting members (デイリー・ニュース受信設定を一度もしていないメンバー宛てにデイリー・ニュースが配信されない)
開始日:
2010-03-18
期日:
進捗率:
100%
予定工数:
3.6 で発生するか:
3.8 で発生するか:
説明
Yuki Yamashita さんが14年以上前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 担当者 を Yuki Yamashita にセット
以下のように修正しました。
if (null !== $dailyNewsConfig && 0 === (int)$dailyNewsConfig) { continue; } if (1 === (int)$dailyNewsConfig && !$this->isDailyNewsDay()) { continue; }
Yuki Yamashita さんが14年以上前に更新
- 進捗率 を 0 から 50 に変更
更新履歴 5123693f3d0c40b71cc79df9adadcc526b3d6bf3 で適用されました。
Mutsumi Imamura さんが14年以上前に更新
- 進捗率 を 50 から 70 に変更
動作確認しました。
設定変更を実施しなくてもデイリーメールが受信されることを確認。
また、ユーザー側にて各設定を切り替え、./symfony openpne:send-daily-newsを実行し確認した。
- 送信しない → デイリーメール送信されない
- 週2回送信する (月,木) → デイリーメール送信されない(2010/03/26金曜日にテスト実施のため)
- 毎日送信する → デイリーメール送信される
Kousuke Ebihara さんが14年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Rejected(差し戻し) に変更
このコードからは設定値が空の場合にどの値が設定されたものと見なして処理をするのかどうかが判別しにくいです(マジックナンバーを使わざるを得ない部分であることも影響しているとは思いますが)。
コードの重複を防ぐ意味では、 config/member_config.yml の Default の値を用いるようにするのがベストだと思いますが、変更がかなり大きくなりそうで影響範囲も大きいので、とりあえず sfConfig::get() や SnsConfigTable::get() や opConfig::get() と同様に Member::getConfig() や MemberConfigTable::retrieveByNameAndMemberId() でも引数にデフォルト値を指定できるようにしてはどうでしょうか。
Kousuke Ebihara さんが14年以上前に更新
- ステータス を Rejected(差し戻し) から Fixed(完了) に変更
- 進捗率 を 70 から 100 に変更
Member::getConfig() にデフォルト値を許す件についてはこのチケットでは対応しない方針にしたいと思います。
操作