[FEAT] Permessi documentali profilabili per ruolo (Impostazioni > Permessi documentali) — v1.24.2
I diritti sul ciclo di vita dei documenti SGSI sono ora configurabili per ruolo (matrice Ruolo x Azione, org-scoped) invece che cablati. - mig.061: tabella isms_doc_permissions (org x capability x role x allowed) - IsmsModelController: requireDocCapability() sostituisce i requireOrgRole cablati nelle 7 transizioni (edit/submit/approve/publish/reject/archive/new_version); default = comportamento precedente; super_admin sempre ok; endpoint GET/PUT /api/isms/docPermissions (canEdit) - settings.html: tab 'Permessi documentali' con matrice checkbox (lettura per i membri, salvataggio Amministratore/Direzione) 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
d29195b2c1
commit
e245e76671
@@ -0,0 +1,16 @@
|
||||
-- 061_doc_permissions.sql — Permessi documentali profilabili per ruolo (org-scoped).
|
||||
-- Matrice Ruolo x Azione del ciclo di vita documenti ISMS (Impostazioni > Permessi documentali).
|
||||
-- Apply autoritativo idempotente: application/cli/migrate_061_doc_permissions.php
|
||||
-- Default (se nessun override): edit/submit/approve/publish/reject/archive/new_version =
|
||||
-- org_admin, compliance_manager, board_member. super_admin sempre consentito.
|
||||
|
||||
CREATE TABLE IF NOT EXISTS isms_doc_permissions (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
organization_id INT NOT NULL,
|
||||
capability VARCHAR(20) NOT NULL, -- edit|submit|approve|publish|reject|archive|new_version
|
||||
role VARCHAR(30) NOT NULL, -- org_admin|compliance_manager|board_member|auditor|employee|consultant
|
||||
allowed TINYINT(1) NOT NULL DEFAULT 1,
|
||||
updated_at DATETIME NULL,
|
||||
UNIQUE KEY uk_docperm (organization_id, capability, role),
|
||||
INDEX idx_docperm_org (organization_id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
Reference in New Issue
Block a user