5e15c1f69f
Auto Tag Develop / tag (push) Successful in 11s
Lot de retours métier **ERP-193** (« Fix tous les retours starseed »), transverse aux 4 répertoires (clients, fournisseurs, prestataires, transporteurs).
## Contenu
- **Pagination** : défaut à 25 items/page sur les 4 répertoires.
- **Libellé** : colonne « Dernière activité » → « Dernière modification ».
- **Consultation** : masquage des onglets vides (coquilles « à venir » + onglets de données sans donnée).
- **Chiffre d'affaires** : plafonné à 999 999 999 999,99 (clamp front + `Assert\LessThanOrEqual` back).
- **Date de création** : interdiction des dates futures (`:max` MalioDate + `Assert\LessThanOrEqual('today')` back).
- **Caractères spéciaux** : blocage des caractères parasites (`²³§~#|…`) dans les champs texte via une allow-list par profil (nom de personne / texte libre / adresse / code alphanumérique) — filtrage front à la frappe + `Assert\Regex` back autoritaire. Email/IBAN/BIC/TVA conservent leurs validateurs de format.
- **UI** : champs en consultation et onglets validés grisés (`readonly` → `disabled`).
- **UI** : boutons « Archiver » en rouge (variant `danger`).
## Tests
- Back : nouveaux tests RG (plafond CA, dates futures, caractères spéciaux) + garde-fou contraintes — suite complète verte (813 tests).
- Front : nouveaux tests unitaires (sanitizers, helpers date/montant) — 615 tests verts, eslint clean.
---------
Co-authored-by: THOLOT DECHENE Matthieu <matthieu@yuno.malio.fr>
Reviewed-on: #139
Co-authored-by: tristan <tristan@yuno.malio.fr>
Co-committed-by: tristan <tristan@yuno.malio.fr>
45 lines
1.2 KiB
JSON
45 lines
1.2 KiB
JSON
{
|
|
"name": "starseed-frontend",
|
|
"type": "module",
|
|
"private": true,
|
|
"scripts": {
|
|
"build": "nuxt build",
|
|
"dev": "nuxt dev",
|
|
"generate": "nuxt generate",
|
|
"preview": "nuxt preview",
|
|
"postinstall": "nuxt prepare",
|
|
"build:dist": "nuxt generate && rm -rf dist && cp -R .output/public dist",
|
|
"lint": "eslint .",
|
|
"lint:fix": "eslint . --fix",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test:e2e": "playwright test",
|
|
"test:e2e:ui": "playwright test --ui"
|
|
},
|
|
"dependencies": {
|
|
"@malio/layer-ui": "^1.7.15",
|
|
"@nuxt/icon": "^2.2.1",
|
|
"@nuxtjs/i18n": "^10.2.3",
|
|
"@nuxtjs/tailwindcss": "^6.14.0",
|
|
"@pinia/nuxt": "^0.11.3",
|
|
"nuxt": "^4.3.1",
|
|
"nuxt-toast": "^1.4.0",
|
|
"pinia": "^3.0.4",
|
|
"vue": "^3.5.29",
|
|
"vue-router": "^4.6.4"
|
|
},
|
|
"devDependencies": {
|
|
"@nuxt/eslint-config": "^1.9.0",
|
|
"@playwright/test": "^1.59.1",
|
|
"@typescript-eslint/eslint-plugin": "^8.44.1",
|
|
"@typescript-eslint/parser": "^8.44.1",
|
|
"@vitejs/plugin-vue": "^6.0.6",
|
|
"@vue/test-utils": "^2.4.6",
|
|
"eslint": "^9.36.0",
|
|
"eslint-plugin-vue": "^10.5.0",
|
|
"happy-dom": "^20.9.0",
|
|
"vitest": "^4.1.4",
|
|
"vue-eslint-parser": "^10.2.0"
|
|
}
|
|
}
|