|
<?php |
|
|
|
namespace Kanboard\Action; |
|
|
|
use Kanboard\Model\TaskModel; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class TaskDuplicateAnotherProject extends Base |
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
public function getDescription() |
|
{ |
|
return t('Duplicate the task to another project'); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function getCompatibleEvents() |
|
{ |
|
return array( |
|
TaskModel::EVENT_MOVE_COLUMN, |
|
TaskModel::EVENT_CLOSE, |
|
TaskModel::EVENT_CREATE, |
|
); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function getActionRequiredParameters() |
|
{ |
|
return array( |
|
'column_id' => t('Column'), |
|
'project_id' => t('Project'), |
|
); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function getEventRequiredParameters() |
|
{ |
|
return array( |
|
'task_id', |
|
'task' => array( |
|
'project_id', |
|
'column_id', |
|
) |
|
); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function doAction(array $data) |
|
{ |
|
$destination_column_id = $this->columnModel->getFirstColumnId($this->getParam('project_id')); |
|
return (bool) $this->taskProjectDuplicationModel->duplicateToProject( |
|
$data['task_id'], |
|
$this->getParam('project_id'), |
|
null, |
|
$destination_column_id |
|
); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function hasRequiredCondition(array $data) |
|
{ |
|
return $data['task']['column_id'] == $this->getParam('column_id') && $data['task']['project_id'] != $this->getParam('project_id'); |
|
} |
|
} |
|
|