summaryrefslogtreecommitdiff
path: root/formlets.rkt
diff options
context:
space:
mode:
authorMarius Peter <dev@marius-peter.com>2025-12-13 22:50:05 +0100
committerMarius Peter <dev@marius-peter.com>2025-12-13 22:51:42 +0100
commitfc64ba9e3f119b3e283bd3750385c477381d549a (patch)
treea1db6761bf9a3bdc95b0cc8050f1b7ffc33801ce /formlets.rkt
parent0071a7fdf3c171ffa5a4fb562fd7d29c10251790 (diff)
Add measurement editing + updating logic.
Diffstat (limited to 'formlets.rkt')
-rw-r--r--formlets.rkt23
1 files changed, 18 insertions, 5 deletions
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"))
Copyright 2019--2026 Marius PETER