From 1308a8967590eacfbc49f5f3a1b2edcd88fdb5f9 Mon Sep 17 00:00:00 2001 From: Trey t Date: Sat, 6 Dec 2025 10:37:02 -0600 Subject: [PATCH] Set status to Completed for one-time tasks after completion MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously, completing a one-time task only cleared the next_due_date but left the status as Pending. Now sets status to Completed (ID=3) so the task status accurately reflects its state. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- internal/services/task_service.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/internal/services/task_service.go b/internal/services/task_service.go index 5ef5fa7..9686dc0 100644 --- a/internal/services/task_service.go +++ b/internal/services/task_service.go @@ -490,12 +490,14 @@ func (s *TaskService) CreateCompletion(req *requests.CreateTaskCompletionRequest } // Update next_due_date and status based on frequency - // - If frequency is "Once" (days = nil or 0), set next_due_date to nil + // - If frequency is "Once" (days = nil or 0), set next_due_date to nil and status to "Completed" // - If frequency is recurring, calculate next_due_date = completion_date + frequency_days // and reset status to "Pending" so task shows in correct kanban column if task.Frequency == nil || task.Frequency.Days == nil || *task.Frequency.Days == 0 { - // One-time task - clear next_due_date since it's completed + // One-time task - clear next_due_date and set status to "Completed" (ID=3) task.NextDueDate = nil + completedStatusID := uint(3) + task.StatusID = &completedStatusID } else { // Recurring task - calculate next due date from completion date + frequency nextDue := completedAt.AddDate(0, 0, *task.Frequency.Days)