t('Column'), 'user_id' => t('User that will receive the email'), 'subject' => t('Email subject'), ); } /** * Get the required parameter for the event * * @access public * @return string[] */ public function getEventRequiredParameters() { return array( 'task_id', 'task' => array( 'project_id', 'column_id', ), ); } /** * Execute the action (move the task to another column) * * @access public * @param array $data Event data dictionary * @return bool True if the action was executed or false when not executed */ public function doAction(array $data) { $user = $this->userModel->getById($this->getParam('user_id')); if (! empty($user['email'])) { $this->emailClient->send( $user['email'], $user['name'] ?: $user['username'], $this->getParam('subject'), $this->template->render('notification/task_create', array( 'task' => $data['task'], )) ); return true; } return false; } /** * Check if the event data meet the action condition * * @access public * @param array $data Event data dictionary * @return bool */ public function hasRequiredCondition(array $data) { return $data['task']['column_id'] == $this->getParam('column_id'); } }