52 lines
1.5 KiB
PHP
52 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace Kanboard\Controller;
|
|
|
|
use Kanboard\Core\Controller\AccessForbiddenException;
|
|
use Kanboard\Model\TaskModel;
|
|
|
|
/**
|
|
* Class TaskMovePositionController
|
|
*
|
|
* @package Kanboard\Controller
|
|
* @author Frederic Guillot
|
|
*/
|
|
class TaskMovePositionController extends BaseController
|
|
{
|
|
public function show()
|
|
{
|
|
$task = $this->getTask();
|
|
|
|
$this->response->html($this->template->render('task_move_position/show', array(
|
|
'task' => $task,
|
|
'board' => $this->boardFormatter
|
|
->withProjectId($task['project_id'])
|
|
->withQuery($this->taskFinderModel->getExtendedQuery()
|
|
->eq(TaskModel::TABLE.'.is_active', TaskModel::STATUS_OPEN)
|
|
->neq(TaskModel::TABLE.'.id', $task['id'])
|
|
)
|
|
->format()
|
|
)));
|
|
}
|
|
|
|
public function save()
|
|
{
|
|
$task = $this->getTask();
|
|
$values = $this->request->getJson();
|
|
|
|
if (! $this->helper->projectRole->canMoveTask($task['project_id'], $task['column_id'], $values['column_id'])) {
|
|
throw new AccessForbiddenException(e('You are not allowed to move this task.'));
|
|
}
|
|
|
|
$this->taskPositionModel->movePosition(
|
|
$task['project_id'],
|
|
$task['id'],
|
|
$values['column_id'],
|
|
$values['position'],
|
|
$values['swimlane_id']
|
|
);
|
|
|
|
$this->response->redirect($this->helper->url->to('TaskViewController', 'show', array('task_id' => $task['id'], 'project_id' => $task['project_id'])));
|
|
}
|
|
}
|