Apply minor fixes.

Commit
b310f6e261e623237f0379c954df040cf4e57a4c
Author
Marius Peter <dev@marius-peter.com>
Author date
Committer
Marius Peter <dev@marius-peter.com>
Committer date
Changed files
handlers.rkt
index aa380aac..0fe131f8 100644..100644
@@ -7,7 +7,6 @@
7 7 web-server/formlets
8 8 "views.rkt"
9 9 "formlets.rkt"
10 Removed: "models/nutrient.rkt"
11 10 "models/nutrient-measurement.rkt"
12 11 "models/nutrient-target.rkt"
13 12 "models/crop-requirement.rkt")
@@ -62,7 +61,7 @@
62 61 (formlet-process (targets-formlet) req))
63 62
64 63 (define (average-nutrient-values mix)
65 Removed: (define totals
64 Added: (define average-values
66 65 (for/fold ([acc (hash)]) ([pair (in-list mix)])
67 66 (define crop-requirement (car pair))
68 67 (define percentage (/ (cdr pair) 100))
@@ -73,11 +72,10 @@
73 72 (hash-update acc n
74 73 (λ (old) (+ old (* v percentage)))
75 74 (λ () (* v percentage))))))
76 Removed: (for/list ([(k v) (in-hash totals)])
75 Added: (for/list ([(k v) (in-hash average-values)])
77 76 (cons k v)))
78 77
79 78 (define target-nutrient-values (average-nutrient-values crop-requirement-mix))
80 Removed: (pretty-display target-nutrient-values)
81 79 (create-nutrient-target! effective-on target-nutrient-values)
82 80 (redirect-to "/"))
83 81
models/fertilizer-product.rkt
index abaf77a5..bd6bba92 100644..100644
@@ -46,7 +46,10 @@
46 46 [else
47 47 (insert #:into fertilizer_products
48 48 #:set [canonical_name ,canonical-name])]))
49 Removed: (define fp-id (fertilizer-product-id (get-fertilizer-product #:canonical-name canonical-name)))
49 Added: (define fp-id (query-value (current-conn)
50 Added: (select id
51 Added: #:from fertilizer_products
52 Added: #:where (= canonical_name ,canonical-name))))
50 53 (query-exec (current-conn)
51 54 (insert #:into nutrient_value_sets
52 55 #:set [fertilizer_product_id ,fp-id]))
@@ -87,7 +90,7 @@
87 90 n.id n.canonical_name n.formula
88 91 nv.value_ppm
89 92 #:from (TableExpr:AST ,joined)
90 Removed: #:order-by canonical_name #:asc))
93 Added: #:order-by fp.canonical_name #:asc))
91 94 (define rows (query-rows (current-conn) query))
92 95 (define by-id
93 96 (for/fold ([h (hash)]) ([row (in-list rows)])
models/nutrient-measurement.rkt
index 23ee9e38..d3631dee 100644..100644
@@ -21,7 +21,7 @@
21 21 [get-nutrient-measurement-values (-> nutrient-measurement?
22 22 (listof (cons/c nutrient? number?)))]
23 23 [get-nutrient-measurement-value (-> nutrient-measurement? nutrient? number?)]
24 Removed: [get-latest-nutrient-measurement-value (-> nutrient? number?)]
24 Added: [get-latest-nutrient-measurement-value (-> nutrient? (or/c number? #f))]
25 25 [delete-nutrient-measurement! (-> nutrient-measurement? void?)]))
26 26
27 27 (require racket/contract
@@ -124,7 +124,7 @@
124 124 (cond
125 125 [(null? rows) #f]
126 126 [else
127 Removed: ;; Fold all nutrient rows belonging to the single measurement into one struct
127 Added: ;; Fold all nutrient value rows belonging to the single nutrient measurement into one struct
128 128 (define the-id #f)
129 129 (define A #f)
130 130 (for ([row (in-list rows)])
@@ -134,7 +134,8 @@
134 134 (set! A (if A
135 135 (acc (acc-measured-on A)
136 136 (cons nv-pair (acc-pairs A)))
137 Removed: (acc measured-on (list nv-pair)))))
137 Added: (acc measured-on
138 Added: (list nv-pair)))))
138 139 (and A
139 140 (nutrient-measurement the-id
140 141 (acc-measured-on A)
models/nutrient-target.rkt
index 7ae90030..8611a40e 100644..100644
@@ -20,7 +20,6 @@
20 20 (or/c nutrient-target? #f))]
21 21 [get-nutrient-target-values (-> nutrient-target? (listof (cons/c nutrient? number?)))]
22 22 [get-nutrient-target-value (-> nutrient-target? nutrient? number?)]
23 Removed: ;; The "latest" value is false before the first target is created.
24 23 [get-latest-nutrient-target-value (-> nutrient? (or/c number? #f))]
25 24 [delete-nutrient-target! (-> nutrient-target? void?)]))
26 25
@@ -160,7 +159,7 @@
160 159 (select value_ppm
161 160 #:from (TableExpr:AST ,joined)
162 161 #:where (= nv.nutrient_id ,(nutrient-id nutrient))
163 Removed: #:order-by nm.effective_on #:desc
162 Added: #:order-by nt.effective_on #:desc
164 163 #:limit 1)))
165 164
166 165