summaryrefslogtreecommitdiff
path: root/views.rkt
diff options
context:
space:
mode:
authorMarius Peter <dev@marius-peter.com>2025-12-10 20:47:05 +0100
committerMarius Peter <dev@marius-peter.com>2025-12-10 20:47:05 +0100
commit8020f23b1cefe9ad6cef9bbd47d3879caeba0d0d (patch)
treeed6e055e63a32aa19b4f26a28e3971a65421c702 /views.rkt
parent014056f90eb55f36c606374857716072ebba753a (diff)
Add crop requirements logic + views.
Diffstat (limited to 'views.rkt')
-rw-r--r--views.rkt24
1 files changed, 22 insertions, 2 deletions
diff --git a/views.rkt b/views.rkt
index 09679cb..bd6b3b9 100644
--- a/views.rkt
+++ b/views.rkt
@@ -5,6 +5,7 @@
ferti-measurements-and-rotations-page
ferti-recipe-page
ferti-fertilizers-page
+ ferti-crop-requirements-page
new-measurement-page
new-rotation-page
new-fertilizer-page
@@ -19,6 +20,7 @@
"models/user.rkt"
"models/nutrient.rkt"
"models/nutrient-measurement.rkt"
+ "models/crop.rkt"
"models/crop-rotation.rkt"
"models/crop-requirement.rkt"
"models/fertilizer-product.rkt")
@@ -89,7 +91,10 @@
(a ((class "nav-link") (aria-current "page") (href "/ferti/measurements-and-rotations"))
"Relevés & Assolements"))
(li ((class "nav-item"))
- (a ((class "nav-link") (aria-current "page") (href "/ferti/fertilizers")) "Intrants"))))
+ (a ((class "nav-link") (aria-current "page") (href "/ferti/fertilizers")) "Intrants"))
+ (li ((class "nav-item"))
+ (a ((class "nav-link") (aria-current "page") (href "/ferti/crop-requirements"))
+ "Cultures"))))
(define (ferti-index-page)
(ferti-template
@@ -127,7 +132,7 @@
(href ,(format "/ferti/recipes/~a" (crop-rotation-date maybe-rotation))))
"Consulter")
"—")))))))
- (ferti-template `((h2 () "Relevés & Assolements")
+ (ferti-template `((h2 () "Relevés et Assolements")
(div ((class "btn-group mb-3"))
(a ((class "btn btn-primary") [href "/ferti/measurements/new"])
"Ajouter un relevé"))
@@ -164,6 +169,21 @@
"Ajouter un intrant")
,table)))
+(define (ferti-crop-requirements-page crop-requirements)
+ (define table
+ `(table ((class "table table-striped"))
+ (tr (th "Culture") (th "Profil"))
+ ,@(for/list ([cr crop-requirements])
+ (define crop-id (crop-requirement-crop-id cr))
+ `(tr (td ,(if crop-id
+ (string-titlecase (crop-name (get-crop #:id crop-id)))
+ "—"))
+ (td ,(string-titlecase (crop-requirement-profile cr)))))))
+ (ferti-template `((h2 () "Profils de culture")
+ (a ((class "btn btn-primary mb-3") [href "/ferti/crop-requirements/new"])
+ "Ajouter un profil")
+ ,table)))
+
(define (new-measurement-page)
(page-template "Nouveau relevé"
`((h1 ((class "display-1 mb-3")) "Nouveau relevé")
Copyright 2019--2026 Marius PETER