События модуля Tasks

Модуль генерирует множество событий, все из них пробрасываются в глобальную шину.

Локальные события (все)

СобытиеКогда возникаетДанные
TaskCreatedEventСоздана задачаtaskId, createdBy
TaskUpdatedEventОбновлена задачаtaskId, changedFields, updatedBy
TaskMovedToColumnEventПеремещена между колонкамиtaskId, oldColumnId, newColumnId, movedBy
TaskAssignedEventНазначен исполнительtaskId, oldAssigneeId, newAssigneeId, assignedBy
TaskSoftDeletedEventМягкое удалениеtaskId, deletedBy
TaskRestoredEventВосстановлениеtaskId, restoredBy
CommentAddedEventДобавлен комментарийcommentId, taskId, userId
CommentUpdatedEventОбновлён комментарийcommentId, taskId, userId
StickerAttachedToTaskEventПрикреплён стикерtaskId, stickerId, attachedBy
TimerStartedEventЗапущен таймерintervalId, taskId, userId
TimerStoppedEventОстановлен таймерintervalId, taskId, userId, duration
IntervalLoggedEventДобавлен ручной интервалintervalId, taskId, userId, duration

Форвардинг в глобальную шину

В modules/tasks/config/di.php определен массив $forwardEvents, содержащий следующие события:

  • TaskCreatedEvent
  • TaskAssignedEvent
  • TaskMovedToColumnEvent
  • TaskUpdatedEvent
  • TaskSoftDeletedEvent
  • TaskRestoredEvent
  • CommentAddedEvent
  • CommentUpdatedEvent
  • StickerAttachedToTaskEvent
  • TimerStartedEvent
  • TimerStoppedEvent
  • IntervalLoggedEvent

Эти события доступны для подписки из других модулей (например, для аналитики или уведомлений).

Обработчики (внутри модуля)

  • TaskLoggerListener – логирует все события в файлы runtime/logs/tasks-info.log и tasks-error.log.
  • TaskNotificationListener – заглушка для отправки уведомлений (TODO).
  • TimeTrackingListener – обновляет ежедневные сводки при остановке таймера.
  • AutoTimerListener – автоматически запускает/останавливает таймер при перемещении задачи или смене исполнителя.
  • PlannedIntervalListener – синхронизирует плановые интервалы с таблицей task_time_intervals.