summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Peter <dev@marius-peter.com>2025-12-10 18:58:44 +0100
committerMarius Peter <dev@marius-peter.com>2025-12-10 18:58:44 +0100
commit014056f90eb55f36c606374857716072ebba753a (patch)
treeb7838de452cecc8dd65c0c4dcba6dca2848b012e
parent6e350f8921a7979304d42e878ddc63aa9987bb7e (diff)
Align URLs to Rails convention.
-rw-r--r--handlers.rkt28
-rw-r--r--views.rkt83
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]))
diff --git a/views.rkt b/views.rkt
index ee80720..09679cb 100644
--- a/views.rkt
+++ b/views.rkt
@@ -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)))
Copyright 2019--2026 Marius PETER