Skip to content

Commit 23bfc5d

Browse files
committed
Fixed trigger of events EVENT_TASK_ASSIGNED and EVENT_TASK_UNASSIGNED in task/update
1 parent 86f418e commit 23bfc5d

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

src/controllers/TaskController.php

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -356,15 +356,26 @@ public function actionUpdate($id, $updateSeries = false, $return = 'card')
356356
$element->save();
357357
}
358358

359+
$oldAssignees = ArrayHelper::getColumn($model->assignees, 'id');
359360
TaskUserAssignment::deleteAll(['task_id' => $model->id]);
360361
foreach ($assignees as $assignee) {
361362
$assignment = new TaskUserAssignment();
362363
$assignment->task_id = $model->id;
363364
$assignment->user_id = $assignee;
364365
$assignment->save();
366+
}
367+
// Send notification to all new assignees
368+
foreach (array_diff($assignees, $oldAssignees) as $assigneeId) {
365369
$this->module->trigger(Module::EVENT_TASK_ASSIGNED, new TaskEvent([
366370
'task' => $model,
367-
'user' => ArrayHelper::getValue($this->module->users, $assignee)
371+
'user' => ArrayHelper::getValue($this->module->users, $assigneeId)
372+
]));
373+
}
374+
// Send notification to all expelled assignees
375+
foreach (array_diff($oldAssignees, $assignees) as $assigneeId) {
376+
$this->module->trigger(Module::EVENT_TASK_UNASSIGNED, new TaskEvent([
377+
'task' => $model,
378+
'user' => ArrayHelper::getValue($this->module->users, $assigneeId)
368379
]));
369380
}
370381

0 commit comments

Comments
 (0)