summaryrefslogtreecommitdiff
path: root/handlers.rkt
diff options
context:
space:
mode:
Diffstat (limited to 'handlers.rkt')
-rw-r--r--handlers.rkt63
1 files changed, 30 insertions, 33 deletions
diff --git a/handlers.rkt b/handlers.rkt
index a232e56..6141426 100644
--- a/handlers.rkt
+++ b/handlers.rkt
@@ -13,6 +13,7 @@
"models/nutrient.rkt"
"models/nutrient-measurement.rkt"
"models/nutrient-target.rkt"
+ "models/crop-rotation.rkt"
"models/fertilizer-product.rkt"
"services/nnls.rkt")
@@ -47,31 +48,31 @@
void))
(define-values (fapg-dispatch fapg-url)
- (dispatch-rules [("index") #:method "get" index]
- ;; Ferti
- [("ferti" "index") #:method "get" ferti-index]
- [("ferti" "measurements") #:method "get" ferti-measurements]
- [("ferti" "targets") #:method "get" ferti-targets]
- [("ferti" "recipe") #: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]
- ;; 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]
- ;; Fertilizer products
- [("ferti" "fertilizer" "new") #:method "get" new-fertilizer]
- [("ferti" "fertilizer" "create") #:method "post" create-fertilizer]
- [("ferti" "fertilizer" (integer-arg)) #:method "get" show-fertilizer]
- [("ferti" "fertilizer" "destroy" (integer-arg)) #:method "get" destroy-fertilizer]
- ;; Default
- [("") #:method "get" index]
- [else fallback]))
+ (dispatch-rules
+ [("index") #:method "get" index]
+ ;; Ferti
+ [("ferti" "index") #:method "get" ferti-index]
+ [("ferti" "measurements-and-rotations") #:method "get" ferti-measurements-and-rotations]
+ [("ferti" "recipe") #: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]
+ ;; 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]
+ ;; Fertilizer products
+ [("ferti" "fertilizer" "new") #:method "get" new-fertilizer]
+ [("ferti" "fertilizer" "create") #:method "post" create-fertilizer]
+ [("ferti" "fertilizer" (integer-arg)) #:method "get" show-fertilizer]
+ [("ferti" "fertilizer" "destroy" (integer-arg)) #:method "get" destroy-fertilizer]
+ ;; Default
+ [("") #:method "get" index]
+ [else fallback]))
(define (render-page xexpr)
(response/xexpr #:preamble #"<!DOCTYPE html>" xexpr))
@@ -87,15 +88,11 @@
(define (ferti-index _)
(render-page (ferti-index-page)))
-(define (ferti-measurements _)
+(define (ferti-measurements-and-rotations _)
(define nutrients (get-nutrients))
(define measurements (get-nutrient-measurements))
- (render-page (ferti-measurements-page nutrients measurements)))
-
-(define (ferti-targets _)
- (define latest-measurement-hash (get-latest-nutrient-measurement-hash))
- (define latest-target-hash (get-latest-nutrient-target-hash))
- (render-page (ferti-targets-page latest-measurement-hash latest-target-hash)))
+ (define rotations (get-crop-rotations))
+ (render-page (ferti-measurements-and-rotations-page nutrients measurements rotations)))
(define (ferti-recipe _)
(define ferti-recipe (find-ferti-recipe))
@@ -113,7 +110,7 @@
(define (create-measurement req)
(define-values (measurement-date nutrient-values) (formlet-process (measurements-formlet) req))
(create-nutrient-measurement! measurement-date nutrient-values)
- (redirect-to "/ferti/measurements"))
+ (redirect-to "/ferti/measurements-and-rotations"))
(define (show-measurement _ id)
(define nm (get-nutrient-measurement #:id id))
Copyright 2019--2026 Marius PETER