
DevEnv nis2-agileandClaude Opus 4.8
f85876f2a2
[FEAT] Supply chain Fase 1: modulo questionari configurabile (categorie + template + domande + import)
Backend del modulo questionari fornitori (design docs/DESIGN_MODULO_QUESTIONARI_FORNITORI.md).
Migrazioni 032+033 gia applicate su host (6 tabelle + 10 categorie preset + suppliers.category_id/external_ref/source).
SupplyChainController:
- categorie: categories/createCategory/updateCategory/deleteCategory (preset org 0 + custom per-org, no delete se in uso)
- template: templates/getTemplate/createTemplate/updateTemplate (per-org, scope categoria)
- domande: addTemplateQuestion/updateTemplateQuestion/deleteTemplateQuestion (7 tipi, weight, nis2_ref, vuln_flag, high_criticality_only)
- import: importSuppliers + bulkUpsertSuppliers (upsert per external_ref, anti formula-injection CSV, max 1000, riusabile da API key)
- helper: assertCategoryVisible/assertTemplateOwned/slugify/sanitizeCell
Tutte le query org-scoped (no leak cross-org). Route in public/index.php actionMap supply-chain.
Smoke: no-auth=401, categcategorie_visibili=10 (preset). USR2 applicato. php -l OK.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 10:36:44 +02:00
..
2026-02-17 17:50:18 +01:00
2026-05-29 18:55:44 +02:00
2026-02-17 17:50:18 +01:00
2026-05-30 11:45:17 +02:00
2026-05-31 08:07:38 +02:00
2026-05-29 13:18:35 +02:00
2026-05-29 13:18:35 +02:00
2026-05-29 13:18:35 +02:00
2026-03-09 12:19:21 +01:00
2026-03-09 08:17:53 +01:00
2026-05-30 12:19:35 +02:00
2026-03-10 08:56:19 +01:00
2026-05-29 17:15:13 +02:00
2026-03-17 15:16:00 +01:00
2026-03-10 15:54:16 +01:00
2026-05-29 15:44:13 +02:00
2026-05-29 15:42:05 +02:00
2026-03-09 10:22:40 +01:00
2026-03-07 16:49:58 +01:00
2026-03-10 15:54:16 +01:00
2026-05-30 11:37:25 +02:00
2026-05-30 11:39:38 +02:00
2026-05-30 12:15:13 +02:00
2026-05-30 11:40:50 +02:00
2026-05-31 10:36:44 +02:00
2026-02-17 17:50:18 +01:00
2026-03-07 16:49:58 +01:00
2026-03-07 16:49:58 +01:00