diff options
Diffstat (limited to 'app/Subscriber/NotificationSubscriber.php')
-rw-r--r-- | app/Subscriber/NotificationSubscriber.php | 29 |
1 files changed, 4 insertions, 25 deletions
diff --git a/app/Subscriber/NotificationSubscriber.php b/app/Subscriber/NotificationSubscriber.php index 92d46754..b99c2945 100644 --- a/app/Subscriber/NotificationSubscriber.php +++ b/app/Subscriber/NotificationSubscriber.php @@ -11,21 +11,6 @@ use Symfony\Component\EventDispatcher\EventSubscriberInterface; class NotificationSubscriber extends \Core\Base implements EventSubscriberInterface { - private $templates = array( - Task::EVENT_CREATE => 'task_creation', - Task::EVENT_UPDATE => 'task_update', - Task::EVENT_CLOSE => 'task_close', - Task::EVENT_OPEN => 'task_open', - Task::EVENT_MOVE_COLUMN => 'task_move_column', - Task::EVENT_MOVE_POSITION => 'task_move_position', - Task::EVENT_ASSIGNEE_CHANGE => 'task_assignee_change', - Subtask::EVENT_CREATE => 'subtask_creation', - Subtask::EVENT_UPDATE => 'subtask_update', - Comment::EVENT_CREATE => 'comment_creation', - Comment::EVENT_UPDATE => 'comment_update', - File::EVENT_CREATE => 'file_creation', - ); - public static function getSubscribedEvents() { return array( @@ -35,6 +20,7 @@ class NotificationSubscriber extends \Core\Base implements EventSubscriberInterf Task::EVENT_OPEN => array('execute', 0), Task::EVENT_MOVE_COLUMN => array('execute', 0), Task::EVENT_MOVE_POSITION => array('execute', 0), + Task::EVENT_MOVE_SWIMLANE => array('execute', 0), Task::EVENT_ASSIGNEE_CHANGE => array('execute', 0), Subtask::EVENT_CREATE => array('execute', 0), Subtask::EVENT_UPDATE => array('execute', 0), @@ -46,24 +32,17 @@ class NotificationSubscriber extends \Core\Base implements EventSubscriberInterf public function execute(GenericEvent $event, $event_name) { - $values = $this->getTemplateData($event); - - if (isset($values['task']['project_id'])) { - $users = $this->notification->getUsersList($values['task']['project_id']); - - if (! empty($users)) { - $this->notification->sendEmails($this->templates[$event_name], $users, $values); - } - } + $this->notification->sendNotifications($event_name, $this->getEventData($event)); } - public function getTemplateData(GenericEvent $event) + public function getEventData(GenericEvent $event) { $values = array(); switch (get_class($event)) { case 'Event\TaskEvent': $values['task'] = $this->taskFinder->getDetails($event['task_id']); + $values['changes'] = isset($event['changes']) ? $event['changes'] : array(); break; case 'Event\SubtaskEvent': $values['subtask'] = $this->subtask->getById($event['id'], true); |