| <?php |
|
|
| namespace Kanboard\Action; |
|
|
| use Kanboard\Model\TaskModel; |
|
|
| |
| |
| |
| |
| |
| |
| class TaskEmail extends Base |
| { |
| |
| |
| |
| |
| |
| |
| public function getDescription() |
| { |
| return t('Send a task by email to someone'); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| public function getCompatibleEvents() |
| { |
| return array( |
| TaskModel::EVENT_MOVE_COLUMN, |
| TaskModel::EVENT_CLOSE, |
| TaskModel::EVENT_CREATE, |
| ); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| public function getActionRequiredParameters() |
| { |
| return array( |
| 'column_id' => t('Column'), |
| 'user_id' => t('User that will receive the email'), |
| 'subject' => t('Email subject'), |
| ); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| public function getEventRequiredParameters() |
| { |
| return array( |
| 'task_id', |
| 'task' => array( |
| 'project_id', |
| 'column_id', |
| ), |
| ); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| public function doAction(array $data) |
| { |
| $user = $this->userModel->getById($this->getParam('user_id')); |
| $subject = $this->getParam('subject'); |
| |
| foreach ($data["task"] as $key => $value) { |
| if ($value !== null) { |
| $placeholder = sprintf('{{%s}}', $key); |
| $subject = str_replace($placeholder, $value, $subject); |
| } |
| } |
|
|
| if (! empty($user['email'])) { |
| $this->emailClient->send( |
| $user['email'], |
| $user['name'] ?: $user['username'], |
| $subject, |
| $this->template->render('notification/task_create', array( |
| 'task' => $data['task'], |
| )) |
| ); |
|
|
| return true; |
| } |
|
|
| return false; |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| public function hasRequiredCondition(array $data) |
| { |
| return $data['task']['column_id'] == $this->getParam('column_id'); |
| } |
| } |
|
|