Commit graph

5 commits

Author SHA1 Message Date
Imugiii
2f98168182 feat(borne): produit/menu en rupture stock non commandable (RG-T21)
All checks were successful
CI / secret-scan (push) Successful in 12s
CI / php-lint (push) Successful in 26s
CI / secret-scan (pull_request) Successful in 13s
CI / php-lint (pull_request) Successful in 25s
CI / static-tests (pull_request) Successful in 52s
CI / static-tests (push) Successful in 57s
CI / js-tests (push) Successful in 32s
CI / js-tests (pull_request) Successful in 31s
La rupture calculee (autoUnavailableIds) etait deja derivee mais pas
appliquee au parcours de commande. Desormais :

- CatalogueController expose is_orderable par produit/menu (menu = burger
  impose seul), en croisant le catalogue avec autoUnavailableIds en une
  requete (pas de N+1). La borne (data.js -> commandable) grise la tuile +
  badge "Indisponible" et bloque le clic (page-products.js + CSS).
- Garde SERVEUR a la creation de commande (OrderRepository::resolveLine) :
  un produit, ou le burger d'un menu, en rupture est refuse quel que soit
  le canal, y compris par acces direct ou repli sans-JS. C'est la couche
  qui fait foi ; le grisage borne n'est qu'un echo UX.

Tests : CatalogueControllerTest (is_orderable liste+detail, produits+menus),
OrderRepositoryTest (refus a la commande produit + menu burger), data.test
(commandable). Doubles desambiguises (autoUnavailableIds vs composition).
PHPStan L6 propre.
2026-06-24 09:20:40 +00:00
82adc77879 fix(borne): affiche la Grande en menu Maxi (accompagnement) (#90)
All checks were successful
CI / secret-scan (push) Successful in 9s
CI / php-lint (push) Successful in 24s
CI / static-tests (push) Successful in 55s
CI / js-tests (push) Successful in 27s
2026-06-22 16:23:39 +02:00
545aa19cf1 feat(borne): tailles 30/50cl boissons a la carte (R4) (#88)
All checks were successful
CI / secret-scan (push) Successful in 18s
CI / php-lint (push) Successful in 33s
CI / static-tests (push) Successful in 1m9s
CI / js-tests (push) Successful in 41s
2026-06-22 14:07:46 +02:00
6e5a5f9334 feat(borne): composeur menu pilote par les slots /api/menus (P5 L2) (#65)
All checks were successful
CI / secret-scan (push) Successful in 11s
CI / php-lint (push) Successful in 31s
CI / static-tests (push) Successful in 58s
CI / js-tests (push) Successful in 33s
2026-06-19 18:30:38 +02:00
7a0702ff6e feat(borne): cablage de la borne sur l'API (CORS + data.js) (#61)
All checks were successful
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 23s
CI / static-tests (push) Successful in 52s
CI / js-tests (push) Successful in 26s
2026-06-18 16:46:17 +02:00