diff options
| author | Marius Peter <dev@marius-peter.com> | 2025-12-13 22:50:05 +0100 |
|---|---|---|
| committer | Marius Peter <dev@marius-peter.com> | 2025-12-13 22:51:42 +0100 |
| commit | fc64ba9e3f119b3e283bd3750385c477381d549a (patch) | |
| tree | a1db6761bf9a3bdc95b0cc8050f1b7ffc33801ce /handlers.rkt | |
| parent | 0071a7fdf3c171ffa5a4fb562fd7d29c10251790 (diff) | |
Add measurement editing + updating logic.
Diffstat (limited to 'handlers.rkt')
| -rw-r--r-- | handlers.rkt | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/handlers.rkt b/handlers.rkt index 988789b..49e27d9 100644 --- a/handlers.rkt +++ b/handlers.rkt @@ -32,6 +32,8 @@ [("ferti" "measurements" "new") #:method "get" new-measurement] [("ferti" "measurements" "create") #:method "post" create-measurement] [("ferti" "measurements" (integer-arg)) #:method "get" show-measurement] + [("ferti" "measurements" (integer-arg) "edit") #:method "get" edit-measurement] + [("ferti" "measurements" "update") #:method "post" update-measurement] [("ferti" "measurements" (integer-arg) "destroy") #:method "get" destroy-measurement] ;; Crop rotations [("ferti" "rotations" "new") #:method "get" new-rotation] @@ -95,6 +97,15 @@ (define nm (get-nutrient-measurement #:id id)) (render-page (show-measurement-page nm))) +(define (edit-measurement _ id) + (define nm (get-nutrient-measurement #:id id)) + (render-page (edit-measurement-page nm))) + +(define (update-measurement req) + (define edited-nutrient-measurement (formlet-process (measurements-formlet) req)) + (update-nutrient-measurement! edited-nutrient-measurement) + (redirect-to "/ferti/measurements-and-rotations")) + (define (destroy-measurement _ id) (delete-nutrient-measurement! id) (redirect-to "/ferti/measurements-and-rotations")) |