[FEAT] Epic C / C5.2a — Attività stakeholder: questionari tipo + attività + calendario (mig.052)
Fondazione delle attività verso gli stakeholder (Simon C5 §4): - Questionari tipo (template): tipo questionario-da-compilare / firma-di-avvenuta-lettura, domande (JSON) + collegamento m2m a procedure (policies) E a misure/requisiti del framework (cfg_nis2_misure/requisiti). - Attività: basate (opz.) su un template, assegnabili a un CODICE stakeholder (tutti quelli di quel tipo) o a singoli stakeholder; pianificabili con data e scadenza. - Calendario NIS2: review_schedule esteso (ENUM entity_type += 'stakeholder_activity'); su create/update con scadenza la riga di calendario viene sincronizzata. - Invio: genera un magic-link per destinatario (token SHA-256) per il portale esterno (C5.2b). Email disattivate (kill-switch) -> i link si condividono manualmente. mig.052: stk_questionnaire_templates, stk_template_(procedures|misure|requisiti), stk_activities, stk_activity_targets, stk_activity_procedures + ALTER review_schedule. StakeholderActivityController + /api/stakeholder-activities/*; stakeholder-activities.html (2 tab: attività / questionari tipo + dettaglio invio); voce sidebar V2; help/i18n. Smoke prod OK (template m2m, attività by_code+calendario, assign, send magic-link, anti-IDOR individual, negativi 422; cleanup org 151 pulita). Additivo. v1.20.0. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
c782aa54fa
commit
a5ff29e0da
@@ -92,6 +92,7 @@ $controllerMap = [
|
||||
'review-schedule' => 'ReviewScheduleController', // A4 Fase 4.4 — Scadenziario centralizzato (revisioni periodiche GV.PO-02/GV.SC-07/PR.AT/DE.CM)
|
||||
'framework' => 'FrameworkController', // Epic C / C1 — Elenco canonico Misure/Requisiti (cfg_nis2_*, read-only)
|
||||
'stakeholders' => 'StakeholderController', // Epic C / C5 — Registro stakeholder + matrice di Mendelow
|
||||
'stakeholder-activities' => 'StakeholderActivityController', // Epic C / C5.2 — Attività stakeholder (questionari/azioni + calendario)
|
||||
'assessments' => 'AssessmentController',
|
||||
'isms' => 'IsmsModelController', // Modello Organizzativo SGSI (ISO 27001/27017/27018 + SoA)
|
||||
'dashboard' => 'DashboardController',
|
||||
@@ -442,6 +443,23 @@ $actionMap = [
|
||||
'DELETE:{id}' => 'delete',
|
||||
],
|
||||
|
||||
// ── StakeholderActivityController (Epic C / C5.2 — attività + questionari tipo) ──
|
||||
'stakeholder-activities' => [
|
||||
'GET:templates' => 'templates',
|
||||
'POST:templates' => 'createTemplate',
|
||||
'GET:templates/{subId}' => 'getTemplate',
|
||||
'PUT:templates/{subId}' => 'updateTemplate',
|
||||
'DELETE:templates/{subId}'=> 'deleteTemplate',
|
||||
'GET:pickers' => 'pickers',
|
||||
'GET:list' => 'list',
|
||||
'POST:create' => 'create',
|
||||
'GET:{id}' => 'get',
|
||||
'PUT:{id}' => 'update',
|
||||
'DELETE:{id}' => 'delete',
|
||||
'POST:{id}/assign' => 'assign',
|
||||
'POST:{id}/send' => 'send',
|
||||
],
|
||||
|
||||
// ── AuditController ─────────────────────────────
|
||||
'audit' => [
|
||||
'GET:controls' => 'listControls',
|
||||
|
||||
Reference in New Issue
Block a user