| | <?php |
| |
|
| | namespace Kanboard\Model; |
| |
|
| | use Kanboard\Core\Base; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | class SubtaskStatusModel extends Base |
| | { |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function getSubtaskInProgress($user_id) |
| | { |
| | return $this->db->table(SubtaskModel::TABLE) |
| | ->eq('status', SubtaskModel::STATUS_INPROGRESS) |
| | ->eq('user_id', $user_id) |
| | ->findOne(); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function hasSubtaskInProgress($user_id) |
| | { |
| | return $this->configModel->get('subtask_restriction') == 1 && |
| | $this->db->table(SubtaskModel::TABLE) |
| | ->eq('status', SubtaskModel::STATUS_INPROGRESS) |
| | ->eq('user_id', $user_id) |
| | ->exists(); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function toggleStatus($subtask_id) |
| | { |
| | $subtask = $this->subtaskModel->getById($subtask_id); |
| | $status = ($subtask['status'] + 1) % 3; |
| |
|
| | $values = array( |
| | 'id' => $subtask['id'], |
| | 'status' => $status, |
| | 'task_id' => $subtask['task_id'], |
| | ); |
| |
|
| | if (empty($subtask['user_id']) && $this->userSession->isLogged()) { |
| | $values['user_id'] = $this->userSession->getId(); |
| | $subtask['user_id'] = $values['user_id']; |
| | } |
| |
|
| | $this->subtaskTimeTrackingModel->toggleTimer($subtask_id, $subtask['user_id'], $status); |
| |
|
| | return $this->subtaskModel->update($values) ? $status : false; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function closeAll($task_id) |
| | { |
| | return $this->db |
| | ->table(SubtaskModel::TABLE) |
| | ->eq('task_id', $task_id) |
| | ->update(array('status' => SubtaskModel::STATUS_DONE)); |
| | } |
| | } |
| |
|