| <?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)); |
| } |
| } |
|
|