diff options
| author | Marius Peter <dev@marius-peter.com> | 2025-12-03 21:06:40 +0100 |
|---|---|---|
| committer | Marius Peter <dev@marius-peter.com> | 2025-12-03 21:06:40 +0100 |
| commit | 64401db5f32eeee23898513617cfcf3b379c38cd (patch) | |
| tree | 224a5e4dac30cb952995d3443f90eb0cd0846b6e | |
| parent | 479c26fa79127eab9067120682b2047ced4aa9a3 (diff) | |
Update handlers to reflect model evolution.
| -rw-r--r-- | handlers.rkt | 51 |
1 files changed, 27 insertions, 24 deletions
diff --git a/handlers.rkt b/handlers.rkt index 001d5a1..bd8387a 100644 --- a/handlers.rkt +++ b/handlers.rkt @@ -12,7 +12,6 @@ "models/user.rkt" "models/nutrient.rkt" "models/nutrient-measurement.rkt" - "models/nutrient-target.rkt" "models/crop-rotation.rkt" "models/fertilizer-product.rkt" "services/nnls.rkt") @@ -26,18 +25,19 @@ ;; Ferti [("ferti" "index") #:method "get" ferti-index] [("ferti" "measurements-and-rotations") #:method "get" ferti-measurements-and-rotations] - [("ferti" "recipe") #:method "get" ferti-recipe] + [("ferti" "recipe" (string-arg)) #:method "get" ferti-recipe] [("ferti" "fertilizers") #:method "get" ferti-fertilizers] ;; Nutrient measurements [("ferti" "measurement" "new") #:method "get" new-measurement] [("ferti" "measurement" "create") #:method "post" create-measurement] [("ferti" "measurement" (integer-arg)) #:method "get" show-measurement] - [("ferti" "measurement" (integer-arg)) #:method "delete" destroy-measurement] + [("ferti" "measurement" "destroy" (integer-arg)) #:method "get" destroy-measurement] ;; Nutrient targets - [("ferti" "target" "new") #:method "get" new-target] - [("ferti" "target" "create") #:method "post" create-target] - [("ferti" "target" (integer-arg)) #:method "get" show-target] - [("ferti" "target" (integer-arg)) #:method "delete" destroy-target] + [("ferti" "rotation" "new") #:method "get" new-rotation] + [("ferti" "rotation" "new" (string-arg)) #:method "get" new-rotation-for-date] + [("ferti" "rotation" "create") #:method "post" create-rotation] + [("ferti" "rotation" (integer-arg)) #:method "get" show-rotation] + [("ferti" "rotation" "destroy" (integer-arg)) #:method "get" destroy-rotation] ;; Fertilizer products [("ferti" "fertilizer" "new") #:method "get" new-fertilizer] [("ferti" "fertilizer" "create") #:method "post" create-fertilizer] @@ -67,9 +67,9 @@ (define rotations (get-crop-rotations)) (render-page (ferti-measurements-and-rotations-page nutrients measurements rotations))) -(define (ferti-recipe _) - (define ferti-recipe (find-ferti-recipe)) - (render-page (ferti-recipe-page ferti-recipe))) +(define (ferti-recipe _ date-string) + (define ferti-recipe (find-ferti-recipe date-string)) + (render-page (ferti-recipe-page date-string ferti-recipe))) (define (ferti-fertilizers _) (define fertilizers (get-fertilizer-products)) @@ -91,25 +91,28 @@ (define (destroy-measurement _ id) (delete-nutrient-measurement! id) - (redirect-to "/ferti/index")) + (redirect-to "/ferti/measurements-and-rotations")) + +;; Crop rotations -;; Nutrient targets +(define (new-rotation _) + (render-page (new-rotation-page))) -(define (new-target _) - (render-page (new-target-page))) +(define (new-rotation-for-date _ date-string) + (render-page (new-rotation-page #:date date-string))) -(define (create-target req) - (define-values (target-date nutrient-values) (formlet-process (targets-formlet) req)) - (create-nutrient-target! target-date nutrient-values) - (redirect-to "/ferti/targets")) +(define (create-rotation req) + (define-values (rotation-date req-proportions) (formlet-process (rotation-formlet) req)) + (create-crop-rotation! rotation-date req-proportions) + (redirect-to "/ferti/measurements-and-rotations")) -(define (show-target _ id) - (define nt (get-nutrient-target #:id id)) - (render-page (show-target-page nt))) +(define (show-rotation _ id) + (define cr (get-crop-rotation #:id id)) + (render-page (show-rotation-page cr))) -(define (destroy-target _ id) - (delete-nutrient-target! id) - (redirect-to "/ferti/targets")) +(define (destroy-rotation _ id) + (delete-crop-rotation! id) + (redirect-to "/ferti/measurements-and-rotations")) ;; Fertilizer products |