|
|
<?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'); |
|
|
} |
|
|
} |
|
|
|