Replace status_id with in_progress boolean field

- Remove task_statuses lookup table and StatusID foreign key
- Add InProgress boolean field to Task model
- Add database migration (005_replace_status_with_in_progress)
- Update all handlers, services, and repositories
- Update admin frontend to display in_progress as checkbox/boolean
- Remove Task Statuses tab from admin lookups page
- Update tests to use InProgress instead of StatusID
- Task categorization now uses InProgress for kanban column assignment

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Trey t
2025-12-08 20:48:16 -06:00
parent cb250f108b
commit c5b0225422
43 changed files with 353 additions and 753 deletions

View File

@@ -46,7 +46,6 @@ func SetupTestDB(t *testing.T) *gorm.DB {
&models.Task{},
&models.TaskCategory{},
&models.TaskPriority{},
&models.TaskStatus{},
&models.TaskFrequency{},
&models.TaskCompletion{},
&models.TaskCompletionImage{},
@@ -184,17 +183,6 @@ func CreateTestTaskPriority(t *testing.T, db *gorm.DB, name string, level int) *
return priority
}
// CreateTestTaskStatus creates a test task status
func CreateTestTaskStatus(t *testing.T, db *gorm.DB, name string) *models.TaskStatus {
status := &models.TaskStatus{
Name: name,
DisplayOrder: 1,
}
err := db.Create(status).Error
require.NoError(t, err)
return status
}
// CreateTestTaskFrequency creates a test task frequency
func CreateTestTaskFrequency(t *testing.T, db *gorm.DB, name string, days *int) *models.TaskFrequency {
freq := &models.TaskFrequency{
@@ -256,17 +244,6 @@ func SeedLookupData(t *testing.T, db *gorm.DB) {
db.Create(&p)
}
// Task statuses
statuses := []models.TaskStatus{
{Name: "Pending", DisplayOrder: 1},
{Name: "In Progress", DisplayOrder: 2},
{Name: "Completed", DisplayOrder: 3},
{Name: "Cancelled", DisplayOrder: 4},
}
for _, s := range statuses {
db.Create(&s)
}
// Task frequencies
days7 := 7
days30 := 30