From 3b7f77480ab5b5fe1a14bfba7a6f1b486aaa9a0a Mon Sep 17 00:00:00 2001 From: Marius Peter Date: Sat, 13 Dec 2025 17:54:41 +0100 Subject: Add fertilizer product updating logic. --- handlers.rkt | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'handlers.rkt') diff --git a/handlers.rkt b/handlers.rkt index 010fe8e..759dbfe 100644 --- a/handlers.rkt +++ b/handlers.rkt @@ -43,7 +43,9 @@ [("ferti" "fertilizers" "new") #:method "get" new-fertilizer] [("ferti" "fertilizers" "create") #:method "post" create-fertilizer] [("ferti" "fertilizers" (integer-arg)) #:method "get" show-fertilizer] - [("ferti" "fertilizers" "destroy" (integer-arg)) #:method "get" destroy-fertilizer] + [("ferti" "fertilizers" (integer-arg) "edit") #:method "get" edit-fertilizer] + [("ferti" "fertilizers" "update") #:method "post" update-fertilizer] + [("ferti" "fertilizers" (integer-arg) "destroy") #:method "get" destroy-fertilizer] ;; Default [("") #:method "get" index] [else fallback])) @@ -122,15 +124,23 @@ (render-page (new-fertilizer-page))) (define (create-fertilizer req) - (define-values (canonical-name brand-name nutrient-values) - (formlet-process (fertilizer-formlet) req)) - (create-fertilizer-product! canonical-name brand-name nutrient-values) + (define new-fertilizer-product (formlet-process (fertilizer-formlet) req)) + (create-fertilizer-product! new-fertilizer-product) (redirect-to "/ferti/fertilizers")) (define (show-fertilizer _ id) (define fp (get-fertilizer-product #:id id)) (render-page (show-fertilizer-page fp))) +(define (edit-fertilizer _ id) + (define fp (get-fertilizer-product #:id id)) + (render-page (edit-fertilizer-page fp))) + +(define (update-fertilizer req) + (define edited-fertilizer-product (formlet-process (fertilizer-formlet) req)) + (update-fertilizer-product! edited-fertilizer-product) + (redirect-to "/ferti/fertilizers")) + (define (destroy-fertilizer _ id) (delete-fertilizer-product! id) (redirect-to "/ferti/fertilizers")) -- cgit v1.2.3