Software und Projekte als Assets + Auto-Sicht kritische Dienste

Software (Lieferantenmodul):
- Neuer Tab „Software" mit Popups (Detail/Anlegen/Bearbeiten) analog IT-Services,
  Anbieter-Verknüpfung, Freigabestatus, Version, Review; Server-Actions
  createSoftware/updateSoftware/deleteSoftware.

Projekte (Assetinventar):
- AssetType PROJECT als Filter, Popup mit Kritikalität (C/I/A), Projektleitung,
  IS-Klassifizierung, Status, ISB-Einbindung; Risiko-Verknüpfung über die
  bestehende RiskAsset-Logik; Server-Actions createProject/updateProject/
  deleteProject. Kontextabhängiger „Neu"-Button je Filter.

Kritische IT-Dienste:
- Schreibgeschützte Auto-Sicht (/assets?view=critical), abgeleitet aus
  Verfügbarkeit und BIA; RTO/RPO aus den verknüpften Prozessen (strengster
  Wert), Abhängigkeiten aus Asset-Relationen.

Software-/Projekt-Cockpits werden auch auf der Asset-Seite gerendert
(backHref=/assets). i18n (de/en) und Modul-Guard-Registrierung ergänzt;
alle Editierfunktionen als Popup.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-24 10:13:19 +02:00
co-authored by Claude Opus 4.8
parent 150a1d9dae
commit 9b479abb0f
11 changed files with 1148 additions and 23 deletions
+75 -5
View File
@@ -14,7 +14,9 @@
"remove": "Remove",
"none": "—",
"comingSoon": "Coming soon",
"confirmDelete": "Really delete?"
"confirmDelete": "Really delete?",
"yes": "Yes",
"no": "No"
},
"nav": {
"dashboard": "Dashboard",
@@ -116,7 +118,15 @@
"masterNote": "Classification & responsibility",
"depPill": "◆ Dependencies",
"depNote": "Linked assets",
"riskCount": "{count} risks"
"riskCount": "{count} risks",
"criticalTitle": "Critical IT services",
"criticalSub": "Automatically derived from asset inventory and BIA read-only.",
"criticalService": "Critical IT service",
"biaCriticality": "BIA criticality",
"supportedProcesses": "Supported processes",
"criticalEmpty": "No critical IT services identified (high availability or BIA-critical process).",
"criticalNote": "This view is derived continuously from the asset inventory and the business impact analysis. RTO/RPO come from the linked processes (strictest value). Maintain data on the respective asset or process.",
"backToInventory": "Back to inventory"
},
"assetType": {
"INFORMATION": "Information",
@@ -126,7 +136,9 @@
"SUPPLIER": "Supplier",
"PERSON": "Person/role",
"DATA": "Data category",
"IT_SERVICE": "IT service"
"IT_SERVICE": "IT service",
"SOFTWARE": "Software",
"PROJECT": "Project"
},
"assetStatus": {
"ACTIVE": "Active",
@@ -505,7 +517,8 @@
"evidence": "Evidence",
"raciEmpty": "No controls assigned yet.",
"close": "Close",
"none": "—"
"none": "—",
"tabSoftware": "Software"
},
"raciParty": {
"PROVIDER": "Provider",
@@ -583,5 +596,62 @@
"levelGlobal": "Inherit global",
"levelAl2": "MUST·SHOULD·HIGH",
"levelAl3": "+ VERY HIGH"
},
"software": {
"title": "Software approvals",
"tabTitle": "Software",
"newSoftware": "Add software",
"ref": "Ref",
"name": "Software",
"provider": "Provider/Supplier",
"noProvider": "no provider",
"version": "Version/patch level",
"approvalStatus": "Approval status",
"approvedBy": "Approved by",
"criticality": "Criticality",
"protection": "Protection need",
"nextReview": "Next review",
"review": "Review",
"notes": "Notes",
"createTitle": "Add software",
"editTitle": "Edit software",
"detailSub": "Approved software (whitelist) with provider and review",
"masterPill": "Master data",
"linkedRisks": "Linked risks",
"empty": "No software recorded yet.",
"close": "Close",
"none": "—"
},
"softwareStatus": {
"BEANTRAGT": "Requested",
"FREIGEGEBEN": "Approved",
"GESPERRT": "Blocked"
},
"projects": {
"title": "Projects",
"newProject": "Add project",
"ref": "Ref",
"name": "Project name",
"owner": "Project lead",
"classification": "IS classification",
"status": "Status",
"isbInvolved": "ISB involved",
"criticality": "Criticality",
"protection": "Protection need",
"notes": "Notes",
"createTitle": "Add project",
"editTitle": "Edit project",
"detailSub": "Information security in projects (R01 / VA-19)",
"masterPill": "Master data",
"linkedRisks": "Linked risks",
"empty": "No projects recorded yet.",
"close": "Close",
"none": "—"
},
"projectStatus": {
"GEPLANT": "Planned",
"LAUFEND": "Running",
"ABGESCHLOSSEN": "Completed",
"ABGEBROCHEN": "Cancelled"
}
}
}