Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 19 |
| SendReminder | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
30 | |
0.00% |
0 / 19 |
| run | |
0.00% |
0 / 1 |
30 | |
0.00% |
0 / 19 |
|||
| <?php | |
| /** | |
| * @link https://www.humhub.org/ | |
| * @copyright Copyright (c) 2018 HumHub GmbH & Co. KG | |
| * @license https://www.humhub.com/licences | |
| * | |
| */ | |
| namespace humhub\modules\tasks\jobs; | |
| use DateTime; | |
| use humhub\modules\queue\ActiveJob; | |
| use humhub\modules\tasks\models\Task; | |
| class SendReminder extends ActiveJob | |
| { | |
| public function run() | |
| { | |
| $now = new DateTime('now'); | |
| /** @var $tasks Task[] */ | |
| $tasks = Task::find() | |
| ->innerJoinWith('taskReminder') | |
| ->where(['task.scheduling' => 1]) | |
| ->andWhere(['!=', 'task.status', Task::STATUS_COMPLETED]) | |
| ->all(); | |
| foreach ($tasks as $task) { | |
| if ($task->schedule->hasTaskReminder()) { | |
| $reminderSent = false; // only send one reminder per run per task | |
| foreach ($task->taskReminder as $reminder) { | |
| if ($reminderSent) { | |
| continue; | |
| } | |
| $reminderSent = $reminder->handleRemind($now); | |
| } | |
| } | |
| } | |
| } | |
| } |