From 8020f23b1cefe9ad6cef9bbd47d3879caeba0d0d Mon Sep 17 00:00:00 2001 From: Marius Peter Date: Wed, 10 Dec 2025 20:47:05 +0100 Subject: Add crop requirements logic + views. --- views.rkt | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'views.rkt') 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é") -- cgit v1.2.3