|
<?php |
|
|
|
namespace Kanboard\Action; |
|
|
|
use Kanboard\Model\TaskModel; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class TaskMoveSwimlaneAssigned extends Base |
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
public function getDescription() |
|
{ |
|
return t('Move the task to another swimlane when assigned to a user'); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function getCompatibleEvents() |
|
{ |
|
return array( |
|
|
|
TaskModel::EVENT_CREATE_UPDATE, |
|
TaskModel::EVENT_ASSIGNEE_CHANGE, |
|
TaskModel::EVENT_UPDATE, |
|
); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function getActionRequiredParameters() |
|
{ |
|
return array( |
|
'user_id' => t('Assignee'), |
|
'dest_swimlane_id' => t('Destination swimlane'), |
|
|
|
); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function getEventRequiredParameters() |
|
{ |
|
return array( |
|
'task_id', |
|
'task' => array( |
|
'project_id', |
|
'column_id', |
|
'owner_id', |
|
'position', |
|
'swimlane_id', |
|
) |
|
); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function doAction(array $data) |
|
{ |
|
return $this->taskPositionModel->movePosition( |
|
$data['task']['project_id'], |
|
$data['task_id'], |
|
$data['task']['column_id'], |
|
$data['task']['position'], |
|
$this->getParam('dest_swimlane_id'), |
|
true |
|
); |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function hasRequiredCondition(array $data) |
|
{ |
|
return $data['task']['swimlane_id'] != $this->getParam('dest_swimlane_id') && $data['task']['owner_id'] == $this->getParam("user_id"); |
|
} |
|
} |
|
|