diff options
| author | Marius Peter <dev@marius-peter.com> | 2025-12-14 18:06:59 +0100 |
|---|---|---|
| committer | Marius Peter <dev@marius-peter.com> | 2025-12-14 18:06:59 +0100 |
| commit | 0cd2e789ef98bfef70d733d66129142a9abc765f (patch) | |
| tree | 186d4899dbb713e39cbde999c7b06b3dae309cf9 /formlets.rkt | |
| parent | 95ceefc7d9386808183f77e688a82af95c6acf5a (diff) | |
Add crop new/show/edit logic.
Diffstat (limited to 'formlets.rkt')
| -rw-r--r-- | formlets.rkt | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/formlets.rkt b/formlets.rkt index c2923ad..17b9448 100644 --- a/formlets.rkt +++ b/formlets.rkt @@ -3,6 +3,7 @@ (provide measurements-formlet rotation-formlet fertilizer-formlet + crop-formlet crop-requirements-formlet) (require gregor @@ -86,6 +87,24 @@ [nutrient-values (make-immutable-hash nutrient-values*)]) (fertilizer-product id canonical-name brand-name nutrient-values)))) +(define (crop-formlet #:value [c #f]) + (formlet* (#%# (=>* (to-string (required (hidden (if c + (number->string (crop-id c)) + "")))) + id*) + `(div ((class "mb-3")) + (h5 "Culture") + ,(=>* (required-string-input #:value (if c + (crop-name c) + "")) + crop-name*)) + (=>* (submit (string-join (list (if c "Modifier" "Enregistrer") "la culture")) + #:attributes '((class "btn btn-primary"))) + _)) + (let ([id (string->number (first id*))] + [crop-name (first crop-name*)]) + (crop id crop-name)))) + (define (crop-requirements-formlet #:value [cr #f]) (formlet* (#%# (=>* (to-string (required (hidden (if cr (number->string (crop-requirement-id cr)) |