Improve subtask toggle status and timer
This commit is contained in:
@@ -95,7 +95,6 @@ class BoardPopover extends Base
|
||||
|
||||
$this->response->html($this->template->render('file/screenshot', array(
|
||||
'task' => $task,
|
||||
'redirect' => 'board',
|
||||
)));
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@ class Subtask extends Base
|
||||
'project' => $this->getProject(),
|
||||
'subtasks' => $this->subtask->getAll($task['id']),
|
||||
'editable' => true,
|
||||
'redirect' => 'subtask',
|
||||
)));
|
||||
}
|
||||
|
||||
|
||||
@@ -21,8 +21,51 @@ class SubtaskStatus extends Base
|
||||
$subtask = $this->getSubtask();
|
||||
|
||||
$status = $this->subtask->toggleStatus($subtask['id']);
|
||||
$subtask['status'] = $status;
|
||||
|
||||
$this->response->html($this->helper->subtask->toggleStatus($subtask, $task['project_id']));
|
||||
if ($this->request->getIntegerParam('refresh-table') === 0) {
|
||||
$subtask['status'] = $status;
|
||||
$html = $this->helper->subtask->toggleStatus($subtask, $task['project_id']);
|
||||
} else {
|
||||
$html = $this->renderTable($task);
|
||||
}
|
||||
|
||||
$this->response->html($html);
|
||||
}
|
||||
|
||||
/**
|
||||
* Start/stop timer for subtasks
|
||||
*
|
||||
* @access public
|
||||
*/
|
||||
public function timer()
|
||||
{
|
||||
$task = $this->getTask();
|
||||
$subtask_id = $this->request->getIntegerParam('subtask_id');
|
||||
$timer = $this->request->getStringParam('timer');
|
||||
|
||||
if ($timer === 'start') {
|
||||
$this->subtaskTimeTracking->logStartTime($subtask_id, $this->userSession->getId());
|
||||
} elseif ($timer === 'stop') {
|
||||
$this->subtaskTimeTracking->logEndTime($subtask_id, $this->userSession->getId());
|
||||
$this->subtaskTimeTracking->updateTaskTimeTracking($task['id']);
|
||||
}
|
||||
|
||||
$this->response->html($this->renderTable($task));
|
||||
}
|
||||
|
||||
/**
|
||||
* Render table
|
||||
*
|
||||
* @access private
|
||||
* @param array $task
|
||||
* @return string
|
||||
*/
|
||||
private function renderTable(array $task)
|
||||
{
|
||||
return $this->template->render('subtask/table', array(
|
||||
'task' => $task,
|
||||
'subtasks' => $this->subtask->getAll($task['id']),
|
||||
'editable' => true,
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Kanboard\Controller;
|
||||
|
||||
/**
|
||||
* Time Tracking controller
|
||||
*
|
||||
* @package controller
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class Timer extends Base
|
||||
{
|
||||
/**
|
||||
* Start/stop timer for subtasks
|
||||
*
|
||||
* @access public
|
||||
*/
|
||||
public function subtask()
|
||||
{
|
||||
$project_id = $this->request->getIntegerParam('project_id');
|
||||
$task_id = $this->request->getIntegerParam('task_id');
|
||||
$subtask_id = $this->request->getIntegerParam('subtask_id');
|
||||
$timer = $this->request->getStringParam('timer');
|
||||
|
||||
if ($timer === 'start') {
|
||||
$this->subtaskTimeTracking->logStartTime($subtask_id, $this->userSession->getId());
|
||||
} elseif ($timer === 'stop') {
|
||||
$this->subtaskTimeTracking->logEndTime($subtask_id, $this->userSession->getId());
|
||||
$this->subtaskTimeTracking->updateTaskTimeTracking($task_id);
|
||||
}
|
||||
|
||||
$this->response->redirect($this->helper->url->to('task', 'show', array('project_id' => $project_id, 'task_id' => $task_id)).'#subtasks');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user