Project

General

Profile

Bug(バグ) #871

Daily news is not sent to the default setting members (デイリー・ニュース受信設定を一度もしていないメンバー宛てにデイリー・ニュースが配信されない)

Added by Rimpei Ogawa over 13 years ago. Updated over 13 years ago.

Status:
Fixed(完了)
Priority:
Normal(通常)
Target version:
Start date:
2010-03-18
Due date:
% Done:

100%

3.6 で発生するか:
Unknown (未調査)
3.8 で発生するか:
Unknown (未調査)

Description

現象

デイリー・ニュース受信設定を一度もしていないメンバー宛てにデイリー・ニュースが配信されない。

「設定変更 > メール設定 > デイリー・ニュース」フォームのデフォルト値は「毎日送信する」となっているが、このフォームの「送信」ボタンを一度も押していないメンバーに対してはデイリー・ニュースが配信されない。

原因

デイリー・ニュース配信タスク側では MemberConfig にデータがない場合は配信を行わない実装となっているために、フォームのデフォルト値と違う挙動となってしまっている。

修正内容

修正内容を記入


Related issues

Related to OpenPNE 3 - Backport(バックポート) #899: Daily news is not sent to the default setting members (デイリー・ニュース受信設定を一度もしていないメンバー宛てにデイリー・ニュースが配信されない) Fixed(完了) 2010-03-26
Related to OpenPNE 3 - Backport(バックポート) #1139: Daily news is not sent to the default setting members (デイリー・ニュース受信設定を一度もしていないメンバー宛てにデイリー・ニュースが配信されない) Fixed(完了) 2010-03-26

Associated revisions

Revision fc5a140b (diff)
Added by Yuki Yamashita over 13 years ago

fixed daily news is not sent (fixes #871)

Revision 5123693f (diff)
Added by Yuki Yamashita over 13 years ago

fixed if statetment. add cast (fixes #871)

History

#1 Updated by Yuki Yamashita over 13 years ago

  • Status changed from Pending Fixing(修正待ち) to Accepted(着手)

#2 Updated by Yuki Yamashita over 13 years ago

  • Status changed from Accepted(着手) to Pending Review(レビュー待ち)
  • Assignee set to Yuki Yamashita

以下のように修正しました。

if (null !== $dailyNewsConfig && 0 === (int)$dailyNewsConfig)
      {
        continue;
      }

      if (1 === (int)$dailyNewsConfig && !$this->isDailyNewsDay())
      {
        continue;
      }

#3 Updated by Yuki Yamashita over 13 years ago

  • % Done changed from 0 to 50

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

#4 Updated by Yuki Yamashita over 13 years ago

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

#5 Updated by Yuki Yamashita over 13 years ago

  • Target version set to OpenPNE 3.5.2

#6 Updated by Kousuke Ebihara over 13 years ago

  • Target version changed from OpenPNE 3.5.2 to OpenPNE 3.5.1

#7 Updated by Mutsumi Imamura over 13 years ago

  • % Done changed from 50 to 70

動作確認しました。
設定変更を実施しなくてもデイリーメールが受信されることを確認。
また、ユーザー側にて各設定を切り替え、./symfony openpne:send-daily-newsを実行し確認した。

  1. 送信しない → デイリーメール送信されない
  2. 週2回送信する (月,木) → デイリーメール送信されない(2010/03/26金曜日にテスト実施のため)
  3. 毎日送信する → デイリーメール送信される

#8 Updated by Kousuke Ebihara over 13 years ago

  • Status changed from Pending Review(レビュー待ち) to Rejected(差し戻し)

このコードからは設定値が空の場合にどの値が設定されたものと見なして処理をするのかどうかが判別しにくいです(マジックナンバーを使わざるを得ない部分であることも影響しているとは思いますが)。

コードの重複を防ぐ意味では、 config/member_config.yml の Default の値を用いるようにするのがベストだと思いますが、変更がかなり大きくなりそうで影響範囲も大きいので、とりあえず sfConfig::get() や SnsConfigTable::get() や opConfig::get() と同様に Member::getConfig() や MemberConfigTable::retrieveByNameAndMemberId() でも引数にデフォルト値を指定できるようにしてはどうでしょうか。

#9 Updated by Kousuke Ebihara over 13 years ago

  • Status changed from Rejected(差し戻し) to Fixed(完了)
  • % Done changed from 70 to 100

Member::getConfig() にデフォルト値を許す件についてはこのチケットでは対応しない方針にしたいと思います。

Also available in: Atom PDF