From fc64ba9e3f119b3e283bd3750385c477381d549a Mon Sep 17 00:00:00 2001 From: Marius Peter Date: Sat, 13 Dec 2025 22:50:05 +0100 Subject: Add measurement editing + updating logic. --- formlets.rkt | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) (limited to 'formlets.rkt') diff --git a/formlets.rkt b/formlets.rkt index 116db81..7ebd0b9 100644 --- a/formlets.rkt +++ b/formlets.rkt @@ -12,17 +12,30 @@ "models/crop.rkt" "models/crop-requirement.rkt") -(define (measurements-formlet) - (formlet* (#%# `(div ((class "mb-3")) (h5 "Date du relevé") ,{=>* (date-formlet) measurement-date*}) +(define (measurements-formlet #:value [nm #f]) + (formlet* (#%# (=>* (to-string (required (hidden (if nm + (number->string (nutrient-measurement-id nm)) + "")))) + id*) + `(div ((class "mb-3")) + (h5 "Date du relevé") + ,(=>* (date-formlet #:value (if nm + (nutrient-measurement-date nm) + (date->iso8601 (today)))) + measurement-date*)) `(div ((class "mb-3")) (h5 "Valeurs du relevé") - ,@(for/list ([nutrient (get-nutrients)]) - {=>* (nutrient-value-formlet nutrient) nutrient-values*})) + ,@(for/list ([n (get-nutrients)]) + (define v + (if nm + (nutrient-measurement-value nm n) + 0)) + (=>* (nutrient-value-formlet n v) nutrient-values*))) {=>* (submit "Enregistrer le relevé" #:attributes '((class "btn btn-primary"))) _}) - (values measurement-date nutrient-values)))) (let ([id (first id*)] [measurement-date (first measurement-date*)] [nutrient-values (make-immutable-hash nutrient-values*)]) + (nutrient-measurement id measurement-date nutrient-values)))) (define (rotation-formlet #:date [date-string #f]) (formlet* (#%# `(div ((class "mb-3")) -- cgit v1.2.3