78 lines
6.2 KiB
Markdown
78 lines
6.2 KiB
Markdown
# Changelog
|
|
|
|
## [1.8.1] - 2026-03-05
|
|
|
|
### Ajouts
|
|
- **Composant DataTable generique** : nouveau composant `DataTable.vue` + composable `useDataTable.ts` avec tri, recherche, pagination et filtres server-side. Toutes les pages catalogue (composants, pieces, produits, documents, constructeurs, commentaires, journal d'audit, admin) migrees vers ce composant partage.
|
|
- **Messages d'erreur humanises** : les erreurs backend (violations de contraintes, erreurs serveur) sont desormais traduites en messages comprehensibles pour l'utilisateur final (`errorMessages.ts`).
|
|
- **Icones Lucide dans la navbar** : reorganisation des groupes de navigation et ajout d'icones pour chaque section.
|
|
- **Modal d'ajout d'entites aux machines** (`AddEntityToMachineModal.vue`) : ajout direct de composants, pieces et produits depuis la fiche machine.
|
|
- **Filtres SearchFilter ipartial** sur les noms de types de modeles et commentaires cote API.
|
|
|
|
### Refactoring
|
|
- **Suppression du systeme TypeMachine (squelettes machines)** : les entites `TypeMachine`, `TypeMachineComponentRequirement`, `TypeMachinePieceRequirement`, `TypeMachineProductRequirement` sont supprimees avec leurs repositories et state processors. Les champs personnalises machines sont desormais lies directement a chaque machine (relation `CustomField → Machine`).
|
|
- **Suppression des pages squelettes machines** : pages `/machine-skeleton`, `/type/[id]`, `/type/edit/[id]` et tous les composants associes (`TypeEditForm`, `MachineSkeletonSummary`, `MachineCreatePreview`, selectors de requirements, `useMachineTypesApi`, `useMachineSkeletonEditor`, `useMachineCreateSelections`, `useMachineCreatePreview`).
|
|
- **Simplification de la creation de machines** : plus besoin de selectionner un squelette, ajout direct de composants/pieces/produits.
|
|
- **Refactoring MachineStructureController** : remplacement de `MachineSkeletonController` par `MachineStructureController` avec gestion directe de la structure machine.
|
|
- **Migration de toutes les tables vers DataTable** : suppression du code de tableau duplique dans chaque page au profit du composant generique.
|
|
|
|
### Corrections
|
|
- **Fix affichage categorie sur les pages edit** : les categories (produit, composant, piece) s'affichent correctement sur les pages d'edition au lieu de "Categorie inconnue". Cause : import `Serializer\Annotation\Groups` obsolete dans `ModelType` (remplace par `Attribute\Groups` pour Symfony 8) + groupes de serialisation manquants (`product:read`, `composant:read`, `piece:read`).
|
|
- Fix import `Serializer\Annotation\Groups` → `Attribute\Groups` dans `Profile`.
|
|
- Fix filtre `SearchFilter` : `partial` → `ipartial` sur `Comment.entityName` et `Document.name`/`Document.filename` pour recherche insensible a la casse.
|
|
|
|
### Migration requise
|
|
```bash
|
|
docker compose exec web php bin/console doctrine:migrations:migrate
|
|
```
|
|
|
|
## [1.8.0] - 2026-03-03
|
|
|
|
### Ajouts
|
|
- **Stockage documents sur disque** : les documents sont desormais stockes en fichiers sur le systeme de fichiers au lieu de Base64 en base de donnees. Les endpoints `/api/documents/{id}/file` et `/api/documents/{id}/download` servent les fichiers directement.
|
|
- **Commande de migration** `app:migrate-documents-to-filesystem` : migre les documents existants (Base64 → fichiers) avec dry-run, batch-size et limit.
|
|
- **Pagination serveur sur la page Documents** : recherche, tri (date/nom/taille), filtre par rattachement (site/machine/composant/piece/produit), selecteur par page (20/50/100).
|
|
- **Compression PDF automatique** : les documents PDF uploades sont compresses automatiquement via Ghostscript. Commande `app:compress-pdf` pour compresser les PDFs existants.
|
|
- **Nettoyage automatique des fichiers** : suppression du fichier sur disque lors de la suppression d'un document.
|
|
- **Champ description** sur les entites Piece et Composant, visible dans les catalogues avec popover au survol.
|
|
|
|
### Corrections
|
|
- Fix normalisation des documents : `fileUrl` et `downloadUrl` toujours exposes dans l'API (meme sans `path` dans le groupe de serialisation).
|
|
- Fix recursion infinie dans `DocumentNormalizer` (`getSupportedTypes` retourne `false` pour desactiver le cache).
|
|
- Fix edition de squelettes machines : `deserialize: false` + `validate: false` sur le PUT pour eviter le conflit UniqueEntity et l'interference du deserialiseur avec les collections writableLink.
|
|
- Fix sites : ajout operation PATCH et correction migration contrainte.
|
|
- Retrocompatibilite : le controleur de service gere transparentement les anciens documents Base64 et les nouveaux fichiers.
|
|
|
|
### Migration requise
|
|
```bash
|
|
docker compose exec php php bin/console doctrine:migrations:migrate
|
|
docker compose exec php php bin/console app:migrate-documents-to-filesystem
|
|
```
|
|
|
|
## [1.7.0] - 2026-03-02
|
|
|
|
### Ajouts
|
|
- **Systeme de commentaires / tickets** : les utilisateurs peuvent laisser des commentaires sur les fiches (machines, pieces, composants, produits, categories, squelettes). Les gestionnaires peuvent les resoudre.
|
|
- **Page commentaires** (`/comments`) : vue centralisee avec filtres (statut, type d'entite), pagination et liens cliquables vers les fiches.
|
|
- **Badge notifications** : compteur de commentaires ouverts sur l'avatar utilisateur et dans le menu profil (polling 60s).
|
|
- **Controle d'acces par roles** : ROLE_ADMIN, ROLE_GESTIONNAIRE, ROLE_VIEWER avec permissions granulaires sur toutes les pages.
|
|
- **Badge de role** dans le dropdown du profil utilisateur.
|
|
- **Journal d'audit etendu** : audit logging sur machines, constructeurs, types de modeles, documents et conversions.
|
|
- **Commande `app:init-profile-passwords`** : initialisation en masse des mots de passe et roles.
|
|
|
|
### Corrections
|
|
- Toggle switch pour les champs personnalises booleens (remplace les checkboxes).
|
|
- Recherche constructeur : filtrage cote client au lieu d'appels API debounce.
|
|
- Prevention des doublons de noms de constructeurs et de references de pieces (contraintes unique).
|
|
- Fix creation de squelettes machines : pagination, duplication, champs personnalises.
|
|
|
|
### Migration requise
|
|
```bash
|
|
docker compose exec php php bin/console doctrine:migrations:migrate
|
|
docker compose exec php php bin/console app:init-profile-passwords
|
|
```
|
|
|
|
## [1.6.0] - 2026-02-12
|
|
|
|
- Version initiale avec gestion du parc machines, pieces, composants, produits et categories.
|