6.3.6: Фикс подстановки base_progress при авто-выполнении
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 58s

This commit is contained in:
poignatov
2026-03-08 13:52:06 +03:00
parent 7e51b0cb9f
commit 67334dde3c
2 changed files with 16 additions and 2 deletions

View File

@@ -10114,6 +10114,19 @@ func (a *App) completeTaskAtEndOfDayHandler(w http.ResponseWriter, r *http.Reque
autoCompleteTrue := true
req.AutoComplete = &autoCompleteTrue
// Если progression_value не задан — подставляем progression_base задачи
if req.ProgressionValue == nil && (req.ClearProgressionValue == nil || !*req.ClearProgressionValue) {
var taskProgressionBase sql.NullFloat64
if pbErr := a.DB.QueryRow("SELECT progression_base FROM tasks WHERE id = $1", taskID).Scan(&taskProgressionBase); pbErr != nil {
log.Printf("Error fetching task progression_base: %v", pbErr)
sendErrorWithCORS(w, fmt.Sprintf("Error fetching task progression_base: %v", pbErr), http.StatusInternalServerError)
return
}
if taskProgressionBase.Valid {
req.ProgressionValue = &taskProgressionBase.Float64
}
}
// Используем ту же логику что и saveTaskDraftHandler
// Начинаем транзакцию
tx, err := a.DB.Begin()

View File

@@ -485,8 +485,9 @@ function TaskDetail({ taskId, onClose, onRefresh, onTaskCompleted, onNavigate })
throw new Error('Неверное значение')
}
payload.progression_value = parsedValue
} else {
// Если прогрессия не введена - сбрасываем в null
} else if (!autoComplete) {
// Если прогрессия не введена и нет авто-выполнения - сбрасываем в null
// При авто-выполнении бэкенд сам подставит progression_base
payload.clear_progression_value = true
}
} else {