Imugiii
44fa7557a7
feat(admin): stock ingredients - CRUD, restock, inventaire PIN, mouvements (P3, mlt 8.8 + domaine 9)
...
CI / secret-scan (push) Successful in 9s
CI / php-lint (push) Successful in 21s
CI / static-tests (push) Successful in 43s
CI / auto-merge (push) Has been skipped
CI / secret-scan (pull_request) Successful in 8s
CI / php-lint (pull_request) Successful in 21s
CI / static-tests (pull_request) Successful in 47s
CI / auto-merge (pull_request) Successful in 5s
PR-A du lot P3 stock. Couche complete de gestion des ingredients et du
stock, gardee par des permissions distinctes par operation :
- CRUD ingredient (8.8) : ingredient.manage, sans PIN (hors set RG-T13).
Conflit d'unicite name + hard-delete bloque par FK RESTRICT -> 409.
- RESTOCK (9.1) : stock.manage, sans PIN ; +N packs -> stock += N*pack_size
+ stock_movement(restock) dans une transaction ; order_id NULL (RG-I6).
- INVENTORY_COUNT (9.2) : stock.count + PIN equipier (RG-T13). Ecrit une
ligne stock_movement(inventory_correction) MEME si delta=0 (RG-3).
Succes -> stock_movement.user_id (acteur resolu par PIN), PAS d'audit_log
(RG-T14). Echec PIN -> pin.failed + throttle dans UNE transaction (RG-T22).
- READ_STOCK (9.3) : stock.read ; user_id des mouvements visible
manager/admin seulement (RG-4).
Tests : 239 / 717 assertions verts (WAKDO_DB_TESTS=1, 24 d'integration DB
reels), PHPStan L6 propre.
2026-06-17 09:04:19 +00:00
c2a4854083
feat(admin): CRUD menus composes avec slots (P3, mlt 8.4-8.6) ( #32 )
CI / secret-scan (push) Successful in 9s
CI / php-lint (push) Successful in 22s
CI / static-tests (push) Successful in 48s
CI / auto-merge (push) Has been skipped
2026-06-16 15:39:09 +02:00
ad5203d3fc
feat(admin): throttle du PIN d action sensible par acteur (RG-T22) ( #18 )
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 20s
CI / static-tests (push) Successful in 32s
CI / auto-merge (push) Has been skipped
2026-06-16 00:06:33 +02:00
2756fb4080
feat(admin): CRUD produits avec PIN conditionnel et audit ( #17 )
CI / secret-scan (push) Successful in 12s
CI / php-lint (push) Successful in 22s
CI / static-tests (push) Successful in 36s
CI / auto-merge (push) Has been skipped
2026-06-15 22:35:50 +02:00
f63ac9873c
feat: PIN self-service P3 (/admin/profile/pin) ( #16 )
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 18s
CI / static-tests (push) Successful in 35s
CI / auto-merge (push) Has been skipped
2026-06-15 22:04:14 +02:00
8290ceabc4
feat: CRUD categories P3 (rendu serveur, garde + CSRF + validation) ( #15 )
CI / secret-scan (push) Successful in 7s
CI / php-lint (push) Successful in 18s
CI / static-tests (push) Successful in 27s
CI / auto-merge (push) Has been skipped
2026-06-15 21:45:31 +02:00
2bc22ab5c8
feat: shell back-office P3 (pages rendues serveur + garde) ( #14 )
CI / secret-scan (push) Successful in 7s
CI / php-lint (push) Successful in 16s
CI / static-tests (push) Successful in 30s
CI / auto-merge (push) Has been skipped
2026-06-15 21:25:06 +02:00
7c35f8e2dc
feat: PIN d action sensible P2 (PinVerifier RG-T13) ( #13 )
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 16s
CI / static-tests (push) Successful in 30s
CI / auto-merge (push) Has been skipped
2026-06-15 21:00:11 +02:00
f979a2339e
feat: RBAC P2 (autorisation par permission + garde de session + /api/me) ( #12 )
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 19s
CI / static-tests (push) Successful in 33s
CI / auto-merge (push) Has been skipped
2026-06-15 20:45:19 +02:00
1b0b20c12d
feat: authentification back-office P2 (login/logout/reset, throttle, audit) ( #11 )
CI / secret-scan (push) Successful in 7s
CI / php-lint (push) Successful in 17s
CI / static-tests (push) Successful in 32s
CI / auto-merge (push) Has been skipped
2026-06-15 20:18:59 +02:00