Matthieu
eccbc1bd56
chore(frontend) : update submodule — fix quantity save on composant edit
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 15:02:55 +01:00
Matthieu
50d8dde6d5
fix(piece) : include structure in composant edit PATCH payload for quantity persistence
2026-03-12 15:02:09 +01:00
Matthieu
2a0809a065
chore(frontend) : update submodule — quantity on composant edit page
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 14:41:12 +01:00
Matthieu
9b40f9f2c7
feat(piece) : add quantity display and input to composant edit page
2026-03-12 14:40:55 +01:00
Matthieu
f2061abce8
chore(frontend) : update submodule — piece quantity display
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 14:33:04 +01:00
Matthieu
721963449b
feat(piece) : display and edit quantity on machine piece items
2026-03-12 14:32:50 +01:00
Matthieu
42c7072bcd
chore(frontend) : update submodule — piece quantity feature
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 12:14:09 +01:00
Matthieu
22ba9a8d05
feat(piece) : add quantity input to composant structure editor
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 12:11:58 +01:00
Matthieu
695d56a6d3
feat(piece) : add quantity field to piece types, sanitization and hydration
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 12:08:43 +01:00
Matthieu
1f90f809ac
test(piece) : add quantity tests for MachinePieceLink
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 12:06:23 +01:00
Matthieu
a940f53f8a
feat(piece) : add quantity to structure normalization, PATCH and clone
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 12:04:03 +01:00
Matthieu
c74bdedf9b
feat(piece) : add quantity field to MachinePieceLink entity + migration
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 12:01:42 +01:00
Matthieu
233ee3faf3
docs : add piece quantity implementation plan
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 11:56:24 +01:00
Matthieu
b8edf1ea95
docs : update piece quantity spec after review
...
Address review findings: drop Groups attribute, add clone logic,
specify PATCH payload format, list frontend functions to update,
add validation and test cases.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 11:48:01 +01:00
Matthieu
7a7af58074
docs : add piece quantity design spec
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 11:44:34 +01:00
Matthieu
03e6c2432b
fix(machine) : add addConstructeur/removeConstructeur methods + fix fournisseur display
...
API Platform silently ignored the constructeurs field on PATCH because
Machine was missing the add/remove methods (unlike Composant, Piece, Product).
Also fixes the read-only fournisseur display overflow in MachineInfoCard.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 18:00:09 +01:00
Matthieu
5c31045e83
fix(machine) : fix fournisseur display overflow in MachineInfoCard
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 17:56:17 +01:00
Matthieu
31408ded7f
chore : bump version to 1.9.0
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
v1.9.0
2026-03-09 15:52:21 +01:00
Matthieu
4054fb24e6
feat(site) : add color field to sites + frontend submodule update
...
- Add color VARCHAR(7) column to sites entity
- Migration with IF NOT EXISTS for idempotence
- Update reference config
- Frontend: site color picker, dark mode, card styling improvements
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 15:51:55 +01:00
Matthieu
b0124c11ba
feat(ui) : add site colors, dark mode toggle and card styling improvements
...
- Site color field with color picker in create/edit modals
- Dark mode theme (mytheme-dark) with toggle in navbar
- Stronger site color visibility on cards (gradient, top border, badges)
- Bigger action buttons (btn-sm) on machine cards
- White card backgrounds with proper dark mode support
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 15:51:29 +01:00
Matthieu
32ba4928df
chore(frontend) : update submodule — site edit + card buttons alignment
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 15:11:55 +01:00
Matthieu
7e67b124f3
feat(machine) : allow site editing on machine detail page and align card buttons
...
- Add site select field in MachineInfoCard (edit mode)
- Include siteId in machine PATCH payload
- Align action buttons (Modifier/Supprimer/Détails) consistently at card bottom
- Use mt-auto + flex-col to push buttons to bottom across all machine cards
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 15:09:14 +01:00
edf7d0fa9e
chore(frontend) : update submodule — changelog v1.9.0
2026-03-09 13:04:54 +01:00
3ad326348b
docs(changelog) : add v1.9.0 release notes
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 13:04:25 +01:00
233927df19
chore : sync frontend submodule and update reference config
...
Update frontend submodule pointer to latest UI refactor.
Update config/reference.php with Symfony auto-generated changes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 00:14:49 +01:00
5b9c4ca09d
refactor(ui) : improve styling, layout and responsive across all components
...
Rework CSS theme (app.css), navbar layout, dashboard page, machine detail,
catalog pages, and various form/display components for better consistency
and mobile responsiveness.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 00:14:32 +01:00
dcb5f15769
docs : update CLAUDE.md with custom controllers, fields architecture and factories
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 18:43:19 +01:00
6b5eb7bcd6
fix(tests) : fix stale unit tests for useToast and useEntityTypes
...
useToast.clearAll() now clears the dedup map to prevent test pollution,
and useEntityTypes error test expectation matches actual French message.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 18:39:10 +01:00
d3cd3fc3ce
feat(machine) : add custom field management on machine detail page
...
- Fix: return customFieldValues in structure endpoint (was hardcoded null)
- Frontend: add editor to create/edit/delete custom field definitions
- Tests: add integration tests for structure values + definition CRUD
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 18:36:14 +01:00
98f5d983b3
feat(machine) : add custom field definition editor on machine detail page
...
Adds UI to create, edit, reorder and delete custom field definitions
directly from the machine detail page in edit mode.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 18:34:35 +01:00
cda872a057
fix(config) : disable pathPrefix for component auto-imports
2026-03-08 17:48:11 +01:00
84970a352d
refactor(frontend) : extract ProductDocumentsInline to reduce PieceItem under 500 lines
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 17:30:45 +01:00
c1d14124ff
refactor(frontend) : trim product edit page under 500 lines
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 17:30:41 +01:00
a83a4428c2
refactor(frontend) : extract piece edit page logic into composable
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 17:28:04 +01:00
a1998d7966
refactor(frontend) : extract component create page logic into composable
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 17:24:50 +01:00
6add558725
refactor(frontend) : extract component edit page logic into composable
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 17:23:46 +01:00
e18ce984e7
refactor(frontend) : extract shared piece product selection utils
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 17:18:55 +01:00
d00e5c058b
refactor(frontend) : extract RelatedItemsModal from ManagementView
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 17:13:27 +01:00
3b24dc128a
refactor(frontend) : extract PieceModelStructureEditor logic into composable
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 17:09:02 +01:00
c188bd7e8b
refactor(frontend) : extract home page modals into components
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 15:14:31 +01:00
e911f169ce
refactor(frontend) : extract assignment fetch logic into composable
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 15:10:22 +01:00
9f9ad80c61
refactor(frontend) : extract StructureNodeEditor logic into composable
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 15:04:48 +01:00
c831f65ef3
refactor(frontend) : split useMachineDetailData into focused composables
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 14:58:32 +01:00
81eb181000
refactor(frontend) : split componentStructure.ts into focused modules
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 14:43:15 +01:00
a3fde7a191
refactor(frontend) : extract CustomFieldDisplay shared component
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 14:39:54 +01:00
b696b5aa1f
refactor(frontend) : extract StructureSkeletonPreview shared component
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 14:35:05 +01:00
33fc80cbc2
fix(security) : disable session migration on API firewall
...
Symfony's default session_fixation_strategy (migrate) regenerated the
session ID on every authenticated request, breaking concurrent API calls
from the SPA — only the first request succeeded, all others got 401.
The login controller already calls $session->migrate(true) explicitly,
so disabling automatic migration is safe.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 14:30:38 +01:00
c6db96dc76
refactor(frontend) : extract DocumentListInline shared component
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 14:26:14 +01:00
33e3f25850
docs : update project documentation and frontend submodule pointer
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 13:47:46 +01:00
efc6ec5691
test(api) : add comprehensive API test suite (161 tests)
...
- Add AbstractApiTestCase with auth helpers and entity factories
- Add tests for all entities: Machine, Piece, Composant, Product, Site,
ModelType, Constructeur, CustomField, CustomFieldValue, Document,
MachineComponentLink, MachinePieceLink, MachineProductLink, Profile
- Add controller tests: CommentController, EntityHistory
- Add HealthCheck, Filter, Pagination, Validation, Session tests
- Test auth (401), authorization (403), CRUD, and edge cases
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 13:42:56 +01:00