| <?php |
|
|
| namespace Kanboard\Action; |
|
|
| use Kanboard\Model\TaskModel; |
|
|
| |
| |
| |
| |
| |
| |
| class TaskAssignDueDateOnMoveColumn extends Base |
| { |
| |
| |
| |
| |
| |
| |
| public function getDescription() |
| { |
| return t('Automatically set the due date when the task is moved away from a specific column'); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| public function getCompatibleEvents() |
| { |
| return array( |
| TaskModel::EVENT_MOVE_COLUMN, |
| ); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| public function getActionRequiredParameters() |
| { |
| return array( |
| 'duration' => t('Duration in days'), |
| 'column_id' => t('Column'), |
| ); |
| } |
| |
| |
| |
| |
| |
| |
| public function getEventRequiredParameters() |
| { |
| return array( |
| 'task_id', |
| 'task' => array( |
| 'project_id', |
| ), |
| 'src_column_id', |
| ); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| public function doAction(array $data) |
| { |
| $values = array( |
| 'id' => $data['task_id'], |
| 'date_due' => strtotime('+'.$this->getParam('duration').'days'), |
| ); |
|
|
| return $this->taskModificationModel->update($values, false); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| public function hasRequiredCondition(array $data) |
| { |
| return !empty($data['src_column_id']) && $data['src_column_id'] == $this->getParam('column_id'); |
| } |
| } |
|
|