diff options
Diffstat (limited to 'views.rkt')
| -rw-r--r-- | views.rkt | 55 |
1 files changed, 37 insertions, 18 deletions
@@ -2,8 +2,7 @@ (provide index-page ferti-index-page - ferti-measurements-page - ferti-targets-page + ferti-measurements-and-rotations-page ferti-recipe-page ferti-fertilizers-page new-measurement-page @@ -21,6 +20,7 @@ "models/nutrient.rkt" "models/nutrient-measurement.rkt" "models/nutrient-target.rkt" + "models/crop-rotation.rkt" "models/fertilizer-product.rkt") (define (page-template title body-xexpr) @@ -83,13 +83,12 @@ (li ((class "nav-item")) (a ((class "nav-link") (aria-current "page") (href "/ferti/index")) "Accueil")) (li ((class "nav-item")) - (a ((class "nav-link") (aria-current "page") (href "/ferti/measurements")) "Relevés")) - (li ((class "nav-item")) - (a ((class "nav-link") (aria-current "page") (href "/ferti/targets")) "Cibles")) + (a ((class "nav-link") (aria-current "page") (href "/ferti/measurements-and-rotations")) + "Relevés & Cibles")) (li ((class "nav-item")) (a ((class "nav-link") (aria-current "page") (href "/ferti/fertilizers")) "Intrants")) - (li ((class "nav-item")) - (a ((class "nav-link") (aria-current "page") (href "/ferti/recipe")) "Recette Ferti©")))) + #;(li ((class "nav-item")) + (a ((class "nav-link") (aria-current "page") (href "/ferti/recipe")) "Recette Ferti©")))) (define (ferti-index-page) (ferti-template @@ -100,19 +99,39 @@ (a ((class "btn btn-outline-primary") [href "/ferti/fertilizer/new"]) "Ajouter un intrant"))))) -(define (ferti-measurements-page nutrients measurements) +(define (ferti-measurements-and-rotations-page nutrients measurements rotations) + (define (maybe-rotation-for-measurement m) + (findf (λ (r) (= (crop-rotation-measurement-id r) (nutrient-measurement-id m))) rotations)) (define table - `(table ((class "table")) - (thead (tr (th "Date"))) - (tbody ,@(for/list ([m measurements]) - `(tr (td (a ((href ,(format "/ferti/measurement/~a" - (nutrient-measurement-id m)))) - ,(nutrient-measurement-date m)))))))) - (ferti-template `((h2 () "Relevés") (a ((class "btn btn-primary mb-3") [href - "/ferti/measurement/new"]) - "Ajouter un relevé") - ,table))) + `(table + ((class "table")) + (thead (tr (th "Date du relevé") (th "Relevé") (th "Cultures") (th "Recette"))) + (tbody + ,@(for/list ([m measurements]) + (define maybe-rotation (maybe-rotation-for-measurement m)) + `(tr (td ,(nutrient-measurement-date m)) + (td (a ((class "btn btn-outline-secondary") + (href ,(format "/ferti/measurement/~a" (nutrient-measurement-id m)))) + "Modifier")) + (td ,(if maybe-rotation + `(a ((class "btn btn-outline-secondary") + (href ,(format "/ferti/rotation/~a" (crop-rotation-id maybe-rotation)))) + "Modifier") + `(a ((class "btn btn-outline-primary") (href "/ferti/rotation/new")) + "Ajouter"))) + (td ,(if maybe-rotation + `(a ((class "btn btn-outline-secondary") + (href ,(format "/ferti/recipe/~a" (crop-rotation-date maybe-rotation)))) + "Consulter") + "—"))))))) + (ferti-template + `((h2 () "Relevés") + (div ((class "btn-group mb-3")) + (a ((class "btn btn-primary") [href "/ferti/measurement/new"]) "Ajouter un relevé") + #;(a ((class "btn btn-secondary") [href "/ferti/target/new"]) "Créer une cible")) + ,table))) +#; (define (ferti-targets-page latest-measurement-hash latest-target-hash) (define table `(table ((class "table")) |