diff options
| author | Marius Peter <dev@marius-peter.com> | 2025-12-10 18:58:44 +0100 |
|---|---|---|
| committer | Marius Peter <dev@marius-peter.com> | 2025-12-10 18:58:44 +0100 |
| commit | 014056f90eb55f36c606374857716072ebba753a (patch) | |
| tree | b7838de452cecc8dd65c0c4dcba6dca2848b012e | |
| parent | 6e350f8921a7979304d42e878ddc63aa9987bb7e (diff) | |
Align URLs to Rails convention.
| -rw-r--r-- | handlers.rkt | 28 | ||||
| -rw-r--r-- | views.rkt | 83 |
2 files changed, 55 insertions, 56 deletions
diff --git a/handlers.rkt b/handlers.rkt index 3798ca2..179775e 100644 --- a/handlers.rkt +++ b/handlers.rkt @@ -25,24 +25,24 @@ ;; Ferti [("ferti" "index") #:method "get" ferti-index] [("ferti" "measurements-and-rotations") #:method "get" ferti-measurements-and-rotations] - [("ferti" "recipe" (string-arg)) #:method "get" ferti-recipe] + [("ferti" "recipes" (string-arg)) #: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" "destroy" (integer-arg)) #:method "get" destroy-measurement] + [("ferti" "measurements" "new") #:method "get" new-measurement] + [("ferti" "measurements" "create") #:method "post" create-measurement] + [("ferti" "measurements" (integer-arg)) #:method "get" show-measurement] + [("ferti" "measurements" "destroy" (integer-arg)) #:method "get" destroy-measurement] ;; Crop rotations - [("ferti" "rotation" "new") #:method "get" new-rotation] - [("ferti" "rotation" "new" (string-arg)) #:method "get" new-rotation-for-date] - [("ferti" "rotation" "create") #:method "post" create-rotation] - [("ferti" "rotation" (integer-arg)) #:method "get" show-rotation] - [("ferti" "rotation" "destroy" (integer-arg)) #:method "get" destroy-rotation] + [("ferti" "rotations" "new") #:method "get" new-rotation] + [("ferti" "rotations" "new" (string-arg)) #:method "get" new-rotation-for-date] + [("ferti" "rotations" "create") #:method "post" create-rotation] + [("ferti" "rotations" (integer-arg)) #:method "get" show-rotation] + [("ferti" "rotations" "destroy" (integer-arg)) #:method "get" destroy-rotation] ;; 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] + [("ferti" "fertilizers" "new") #:method "get" new-fertilizer] + [("ferti" "fertilizers" "create") #:method "post" create-fertilizer] + [("ferti" "fertilizers" (integer-arg)) #:method "get" show-fertilizer] + [("ferti" "fertilizers" "destroy" (integer-arg)) #:method "get" destroy-fertilizer] ;; Default [("") #:method "get" index] [else fallback])) @@ -89,18 +89,16 @@ (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")) - #;(li ((class "nav-item")) - (a ((class "nav-link") (aria-current "page") (href "/ferti/recipe")) "Recette Ferti©")))) + (a ((class "nav-link") (aria-current "page") (href "/ferti/fertilizers")) "Intrants")))) (define (ferti-index-page) (ferti-template - `((p "La recette Ferti© est calculée en fonction d'un relevé de nutriments et d'une cible.") - (div ((class "btn-group-vertical")) - (a ((class "btn btn-outline-primary") [href "/ferti/measurement/new"]) "Ajouter un relevé") - (a ((class "btn btn-outline-primary") [href "/ferti/rotation/new"]) "Ajouter un assolement") - (a ((class "btn btn-outline-primary") [href "/ferti/fertilizer/new"]) - "Ajouter un intrant"))))) + `((p "La recette Ferti© est calculée en fonction d'un relevé de nutriments et d'un assolement.") + (div + ((class "btn-group-vertical")) + (a ((class "btn btn-outline-primary") [href "/ferti/measurements/new"]) "Ajouter un relevé") + (a ((class "btn btn-outline-primary") [href "/ferti/rotations/new"]) "Ajouter un assolement") + (a ((class "btn btn-outline-primary") [href "/ferti/fertilizers/new"]) "Ajouter un intrant"))))) (define (ferti-measurements-and-rotations-page measurements rotations) (define (maybe-rotation-for-measurement m) @@ -110,27 +108,28 @@ ((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 ((class "font-monospace")) ,(normal-date (nutrient-measurement-date m))) - (td (a ((class "btn btn-outline-secondary btn-sm") - (href ,(format "/ferti/measurement/~a" (nutrient-measurement-id m)))) - "Modifier")) - (td ,(if maybe-rotation - `(a ((class "btn btn-outline-secondary btn-sm") - (href ,(format "/ferti/rotation/~a" (crop-rotation-id maybe-rotation)))) - "Modifier") - `(a ((class "btn btn-outline-primary btn-sm") - (href ,(format "/ferti/rotation/new/~a" (nutrient-measurement-date m)))) - "Ajouter"))) - (td ,(if maybe-rotation - `(a ((class "btn btn-outline-secondary btn-sm") - (href ,(format "/ferti/recipe/~a" (crop-rotation-date maybe-rotation)))) - "Consulter") - "—"))))))) + ,@ + (for/list ([m measurements]) + (define maybe-rotation (maybe-rotation-for-measurement m)) + `(tr (td ((class "font-monospace")) ,(normal-date (nutrient-measurement-date m))) + (td (a ((class "btn btn-outline-secondary btn-sm") + (href ,(format "/ferti/measurements/~a" (nutrient-measurement-id m)))) + "Modifier")) + (td ,(if maybe-rotation + `(a ((class "btn btn-outline-secondary btn-sm") + (href ,(format "/ferti/rotations/~a" (crop-rotation-id maybe-rotation)))) + "Modifier") + `(a ((class "btn btn-outline-primary btn-sm") + (href ,(format "/ferti/rotations/new/~a" (nutrient-measurement-date m)))) + "Ajouter"))) + (td ,(if maybe-rotation + `(a ((class "btn btn-outline-secondary btn-sm") + (href ,(format "/ferti/recipes/~a" (crop-rotation-date maybe-rotation)))) + "Consulter") + "—"))))))) (ferti-template `((h2 () "Relevés & Assolements") (div ((class "btn-group mb-3")) - (a ((class "btn btn-primary") [href "/ferti/measurement/new"]) + (a ((class "btn btn-primary") [href "/ferti/measurements/new"]) "Ajouter un relevé")) ,table))) @@ -155,13 +154,13 @@ (define table `(table ((class "table table-striped")) (tr (th () "Nom de référence") (th () "Nom de marque")) - ,@ - (for/list ([fertilizer fertilizers]) - `(tr (td (a ([href ,(format "/ferti/fertilizer/~a" (fertilizer-product-id fertilizer))]) - ,(fertilizer-product-name fertilizer))) - (td ,(or (fertilizer-brand-name fertilizer) "—")))))) + ,@(for/list ([fertilizer fertilizers]) + `(tr (td (a ([href + ,(format "/ferti/fertilizers/~a" (fertilizer-product-id fertilizer))]) + ,(fertilizer-product-name fertilizer))) + (td ,(or (fertilizer-brand-name fertilizer) "—")))))) (ferti-template `((h2 () "Intrants") (a ((class "btn btn-primary mb-3") [href - "/ferti/fertilizer/new"]) + "/ferti/fertilizers/new"]) "Ajouter un intrant") ,table))) @@ -198,7 +197,7 @@ (page-template title `((h1 ((class "display-1 mb-3")) ,title) (a ((class "btn btn-danger") - [href ,(format "/ferti/measurement/destroy/~a" (nutrient-measurement-id nm))]) + [href ,(format "/ferti/measurements/destroy/~a" (nutrient-measurement-id nm))]) "Supprimer relevé") ,table))) @@ -213,12 +212,12 @@ `(tr (td ,(crop-requirement-profile requirement)) (td ((class "text-end font-monospace")) ,(round 2 requirement-proportion))))))) - (page-template - title - `((h1 ((class "display-1 mb-3")) ,title) - (a ((class "btn btn-danger") [href ,(format "/ferti/rotation/destroy/~a" (crop-rotation-id cr))]) - "Supprimer assolement") - ,table))) + (page-template title + `((h1 ((class "display-1 mb-3")) ,title) + (a ((class "btn btn-danger") + [href ,(format "/ferti/rotations/destroy/~a" (crop-rotation-id cr))]) + "Supprimer assolement") + ,table))) (define (show-fertilizer-page fp) (define title (fertilizer-product-name fp)) @@ -234,7 +233,7 @@ (page-template title `((h1 ((class "display-1 mb-3")) ,title) (a ((class "btn btn-danger") - [href ,(format "/ferti/fertilizer/destroy/~a" (fertilizer-product-id fp))]) + [href ,(format "/ferti/fertilizers/destroy/~a" (fertilizer-product-id fp))]) "Supprimer") ,table))) |