feat(admin): liste des commandes + KPIs de vente (P4) #70

Merged
Corentin merged 1 commit from feat/p4-orders-admin into dev 2026-06-19 20:24:34 +02:00
Owner
No description provided.
Corentin added 1 commit 2026-06-19 20:22:43 +02:00
feat(admin): liste des commandes + KPIs de vente (P4)
All checks were successful
CI / static-tests (push) Successful in 47s
CI / secret-scan (pull_request) Successful in 9s
CI / php-lint (pull_request) Successful in 23s
CI / static-tests (pull_request) Successful in 47s
CI / js-tests (pull_request) Successful in 25s
CI / secret-scan (push) Successful in 10s
CI / php-lint (push) Successful in 22s
CI / js-tests (push) Successful in 29s
70388318ea
Ouvre le domaine commande cote back-office (les commandes existent depuis P4 1a/1b
et, depuis la borne L4, sont reellement creees).

- App\Order\OrderQueryRepository (read-side, DatabaseInterface seul) : recent($limit)
  pour la liste admin + salesKpis() (CA encaisse paid+delivered, nb payees, panier
  moyen, CA/nb du jour, total, repartition par statut).
- OrderAdminController : GET /admin/orders, permission order.read, liste lecture seule
  (numero, mode, chevalet, statut, total ttc, date). Les transitions deliver/cancel
  restent aux ecrans operationnels (hors back-office MVP).
- StatsController : ferme la dette "KPIs de vente differes P4" -> section Ventes dans
  /admin/stats (CA, commandes payees, panier moyen, total). Hook orderQuery() = seam.
- Nav "Commandes" (order.read) reactivee dans la sidebar (etait volontairement absente
  tant que la route n'existait pas).
- Tests : OrderQueryRepositoryDbTest (integration, vraie DB : 3) + OrderAdminControllerTest
  (double : guard 403/200 + rendu) + StatsControllerTest (section Ventes). 350 PHP verts,
  PHPStan L6 propre. Routes verifiees live (302 -> login, gardees par SessionGuard).
Corentin scheduled this pull request to auto merge when all checks succeed 2026-06-19 20:22:44 +02:00
Corentin merged commit 1d56d5b574 into dev 2026-06-19 20:24:34 +02:00
Sign in to join this conversation.
No reviewers
No labels
auto-merge
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: AcadeNice/corentin_wakdo#70
No description provided.