Add Risks by Status to Dashboard
This commit is contained in:
parent
ac3c6db486
commit
301a0cb83d
6 changed files with 216 additions and 170 deletions
Binary file not shown.
|
@ -2,7 +2,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: wira-risk-management\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-09-16 14:08+0200\n"
|
||||
"POT-Creation-Date: 2025-09-19 11:02+0200\n"
|
||||
"PO-Revision-Date: 2025-09-09 13:45+0200\n"
|
||||
"Last-Translator: Kevin Heyer <kevin@example.com>\n"
|
||||
"Language-Team: German\n"
|
||||
|
@ -49,7 +49,7 @@ msgid "Users"
|
|||
msgstr "Benutzer"
|
||||
|
||||
#: risks/admin.py:166 risks/models.py:370 templates/risks/item_control.html:96
|
||||
#: templates/risks/item_incident.html:88 templates/risks/item_risk.html:245
|
||||
#: templates/risks/item_incident.html:88 templates/risks/item_risk.html:260
|
||||
msgid "User"
|
||||
msgstr "Benutzer"
|
||||
|
||||
|
@ -114,10 +114,11 @@ msgid "Risk Management"
|
|||
msgstr "Risikomanagement"
|
||||
|
||||
#: risks/forms.py:13 risks/models.py:87 templates/risks/dashboard.html:83
|
||||
#: templates/risks/dashboard.html:108 templates/risks/item_control.html:35
|
||||
#: templates/risks/item_incident.html:36 templates/risks/item_risk.html:51
|
||||
#: templates/risks/item_risk.html:189 templates/risks/item_risk.html:219
|
||||
#: templates/risks/list_controls.html:48 templates/risks/list_controls.html:100
|
||||
#: templates/risks/dashboard.html:108 templates/risks/dashboard.html:133
|
||||
#: templates/risks/item_control.html:35 templates/risks/item_incident.html:36
|
||||
#: templates/risks/item_risk.html:54 templates/risks/item_risk.html:204
|
||||
#: templates/risks/item_risk.html:234 templates/risks/list_controls.html:48
|
||||
#: templates/risks/list_controls.html:100
|
||||
#: templates/risks/list_incidents.html:48
|
||||
#: templates/risks/list_incidents.html:99 templates/risks/list_risks.html:128
|
||||
msgid "Status"
|
||||
|
@ -197,7 +198,7 @@ msgid "Availability"
|
|||
msgstr "Verfügbarkeit"
|
||||
|
||||
#: risks/models.py:78 risks/models.py:201 risks/models.py:270
|
||||
#: templates/risks/item_risk.html:188
|
||||
#: templates/risks/item_risk.html:203
|
||||
msgid "Title"
|
||||
msgstr "Titel"
|
||||
|
||||
|
@ -207,34 +208,34 @@ msgid "Description"
|
|||
msgstr "Beschreibung"
|
||||
|
||||
#: risks/models.py:80 templates/risks/item_control.html:68
|
||||
#: templates/risks/item_incident.html:60 templates/risks/item_risk.html:40
|
||||
#: templates/risks/item_incident.html:60 templates/risks/item_risk.html:42
|
||||
#: templates/risks/list_risks.html:119
|
||||
msgid "Asset"
|
||||
msgstr "Asset"
|
||||
|
||||
#: risks/models.py:81 templates/risks/item_control.html:69
|
||||
#: templates/risks/item_incident.html:61 templates/risks/item_risk.html:41
|
||||
#: templates/risks/item_incident.html:61 templates/risks/item_risk.html:43
|
||||
#: templates/risks/list_risks.html:125
|
||||
msgid "Process"
|
||||
msgstr "Prozess"
|
||||
|
||||
#: risks/models.py:82 templates/risks/item_control.html:67
|
||||
#: templates/risks/item_incident.html:59 templates/risks/item_risk.html:42
|
||||
#: templates/risks/item_incident.html:59 templates/risks/item_risk.html:44
|
||||
#: templates/risks/list_risks.html:122
|
||||
msgid "Category"
|
||||
msgstr "Kategorie"
|
||||
|
||||
#: risks/models.py:83 templates/risks/item_control.html:46
|
||||
#: templates/risks/item_incident.html:39 templates/risks/item_risk.html:55
|
||||
#: templates/risks/item_incident.html:39 templates/risks/item_risk.html:70
|
||||
msgid "Created at"
|
||||
msgstr "Erstellt am"
|
||||
|
||||
#: risks/models.py:84 templates/risks/item_control.html:47
|
||||
#: templates/risks/item_incident.html:40 templates/risks/item_risk.html:56
|
||||
#: templates/risks/item_incident.html:40 templates/risks/item_risk.html:71
|
||||
msgid "Updated at"
|
||||
msgstr "Aktualisiert am"
|
||||
|
||||
#: risks/models.py:85 templates/risks/item_risk.html:63
|
||||
#: risks/models.py:85 templates/risks/item_risk.html:78
|
||||
msgid "Effects"
|
||||
msgstr "Auswirkungen"
|
||||
|
||||
|
@ -280,7 +281,7 @@ msgid "Auditlogs"
|
|||
msgstr "Audit-Logs"
|
||||
|
||||
#: risks/models.py:261 templates/risks/item_incident.html:33
|
||||
#: templates/risks/item_risk.html:218 templates/risks/list_incidents.html:97
|
||||
#: templates/risks/item_risk.html:233 templates/risks/list_incidents.html:97
|
||||
msgid "Incident"
|
||||
msgstr "Vorfall"
|
||||
|
||||
|
@ -374,7 +375,7 @@ msgstr "Benutzer gelöscht"
|
|||
msgid "Notification"
|
||||
msgstr "Nachricht"
|
||||
|
||||
#: risks/models.py:322 templates/base.html:96
|
||||
#: risks/models.py:322 templates/base.html:98
|
||||
#: templates/risks/notifications.html:4
|
||||
msgid "Notifications"
|
||||
msgstr "Nachrichten"
|
||||
|
@ -409,7 +410,8 @@ msgstr "Sende an alle App-Mitarbeiter"
|
|||
|
||||
#: risks/models.py:438
|
||||
msgid "Extra recipients (emails, comma or newline separated)"
|
||||
msgstr "Zusätzliche Empfänger (E-Mails, durch Komma oder Zeilenumbruch getrennt)"
|
||||
msgstr ""
|
||||
"Zusätzliche Empfänger (E-Mails, durch Komma oder Zeilenumbruch getrennt)"
|
||||
|
||||
#: risks/signals.py:71
|
||||
#, python-brace-format
|
||||
|
@ -457,7 +459,8 @@ msgstr "Maßnahme gelöscht: {t}"
|
|||
#: risks/signals.py:218
|
||||
#, python-brace-format
|
||||
msgid "Residual review required for risk '{t}' due to control change"
|
||||
msgstr "Restrisikoprüfung nötig für das Risiko: '{t}', da Maßnahmen geändert wurden"
|
||||
msgstr ""
|
||||
"Restrisikoprüfung nötig für das Risiko: '{t}', da Maßnahmen geändert wurden"
|
||||
|
||||
#: risks/signals.py:245
|
||||
#, python-brace-format
|
||||
|
@ -505,29 +508,23 @@ msgstr "Das Risiko wurde geprüft und als geschlossen markiert"
|
|||
|
||||
#: risks/views.py:220
|
||||
msgid "Not all controls are completed. Risk cannot be closed yet."
|
||||
msgstr "Nicht alle Maßnhamen sind abgeschlossen, das Risiko kann nicht geschlossen werden."
|
||||
msgstr ""
|
||||
"Nicht alle Maßnhamen sind abgeschlossen, das Risiko kann nicht geschlossen "
|
||||
"werden."
|
||||
|
||||
#: risks/views.py:378
|
||||
msgid "Notification marked as read."
|
||||
msgstr "Nachricht als gelesen markiert"
|
||||
|
||||
#: risks/views.py:388
|
||||
msgid "All notifications marked as read."
|
||||
msgstr "Alle Benachrichtigungen wurden als gelesen Markiert"
|
||||
|
||||
#: risks/views.py:407
|
||||
#: risks/views.py:409
|
||||
msgid "Risk status updated."
|
||||
msgstr "Risikostatus Aktualisiert"
|
||||
|
||||
#: risks/views.py:423
|
||||
#: risks/views.py:425
|
||||
msgid "Control status updated."
|
||||
msgstr "Maßnahmenstatus Aktualisiert"
|
||||
|
||||
#: risks/views.py:439
|
||||
#: risks/views.py:441
|
||||
msgid "Incident status updated."
|
||||
msgstr "Vorfallstatus Aktualisiert"
|
||||
|
||||
#: risks/views.py:456
|
||||
#: risks/views.py:458
|
||||
msgid "Residual review flag updated."
|
||||
msgstr "Restrisiko geprüft"
|
||||
|
||||
|
@ -549,27 +546,27 @@ msgstr "Risikomatrix"
|
|||
msgid "Risk analysis"
|
||||
msgstr "Risikoanalyse"
|
||||
|
||||
#: templates/base.html:91
|
||||
#: templates/base.html:93
|
||||
msgid "AdminCP"
|
||||
msgstr "Adminbereich"
|
||||
|
||||
#: templates/base.html:104
|
||||
#: templates/base.html:106
|
||||
msgid "Derk Mode"
|
||||
msgstr "Dark Mode"
|
||||
|
||||
#: templates/base.html:110
|
||||
#: templates/base.html:112
|
||||
msgid "Logout"
|
||||
msgstr "Logout"
|
||||
|
||||
#: templates/base.html:125
|
||||
#: templates/base.html:127
|
||||
msgid "Login"
|
||||
msgstr "Login"
|
||||
|
||||
#: templates/base.html:160 templates/base.html:167
|
||||
#: templates/base.html:162 templates/base.html:169
|
||||
msgid "Light Mode"
|
||||
msgstr "Light Mode"
|
||||
|
||||
#: templates/base.html:170
|
||||
#: templates/base.html:172
|
||||
msgid "Dark Mode"
|
||||
msgstr "Dark Mode"
|
||||
|
||||
|
@ -583,7 +580,7 @@ msgstr "Risiken"
|
|||
|
||||
#: templates/risks/dashboard.html:36
|
||||
msgid "Residual Risks Needing Review"
|
||||
msgstr "Restrisiken ohne Verifizierung"
|
||||
msgstr "Fehlende Restrisiken"
|
||||
|
||||
#: templates/risks/dashboard.html:44
|
||||
msgid "Unread Notifications"
|
||||
|
@ -594,23 +591,28 @@ msgid "Risks by CIA"
|
|||
msgstr "CIA Risiken"
|
||||
|
||||
#: templates/risks/dashboard.html:78
|
||||
msgid "Controls by Status"
|
||||
msgstr "Maßnahmen nach Status"
|
||||
msgid "Risks by Status"
|
||||
msgstr "Risiken nach Status"
|
||||
|
||||
#: templates/risks/dashboard.html:84 templates/risks/dashboard.html:109
|
||||
#: templates/risks/dashboard.html:134
|
||||
msgid "Count"
|
||||
msgstr "Anzahl"
|
||||
|
||||
#: templates/risks/dashboard.html:94 templates/risks/dashboard.html:119
|
||||
#: templates/risks/list_risks.html:185
|
||||
#: templates/risks/dashboard.html:144 templates/risks/list_risks.html:185
|
||||
msgid "No data"
|
||||
msgstr "Keine Daten"
|
||||
|
||||
#: templates/risks/dashboard.html:103
|
||||
msgid "Controls by Status"
|
||||
msgstr "Maßnahmen nach Status"
|
||||
|
||||
#: templates/risks/dashboard.html:128
|
||||
msgid "Incidents by Status"
|
||||
msgstr "Vorfälle nach Status"
|
||||
|
||||
#: templates/risks/dashboard.html:127
|
||||
#: templates/risks/dashboard.html:152
|
||||
msgid "Risk Trend (per Month)"
|
||||
msgstr "Risikotrend (pro Monat)"
|
||||
|
||||
|
@ -637,17 +639,17 @@ msgstr "Maßnahme bearbeiten"
|
|||
msgid "Delete Control"
|
||||
msgstr "Maßnahme löschen"
|
||||
|
||||
#: templates/risks/item_control.html:34 templates/risks/item_risk.html:191
|
||||
#: templates/risks/item_control.html:34 templates/risks/item_risk.html:206
|
||||
#: templates/risks/list_controls.html:63 templates/risks/list_controls.html:99
|
||||
msgid "Responsible"
|
||||
msgstr "Verantwortliche/r"
|
||||
|
||||
#: templates/risks/item_control.html:37 templates/risks/item_risk.html:192
|
||||
#: templates/risks/item_control.html:37 templates/risks/item_risk.html:207
|
||||
#: templates/risks/list_controls.html:102
|
||||
msgid "Link"
|
||||
msgstr "Link"
|
||||
|
||||
#: templates/risks/item_control.html:48 templates/risks/item_risk.html:190
|
||||
#: templates/risks/item_control.html:48 templates/risks/item_risk.html:205
|
||||
#: templates/risks/list_controls.html:101
|
||||
msgid "Deadline"
|
||||
msgstr "Frist"
|
||||
|
@ -661,17 +663,17 @@ msgid "No linked risks."
|
|||
msgstr "Keine zugehörigen Risiken"
|
||||
|
||||
#: templates/risks/item_control.html:95 templates/risks/item_incident.html:87
|
||||
#: templates/risks/item_risk.html:244
|
||||
#: templates/risks/item_risk.html:259
|
||||
msgid "Time"
|
||||
msgstr "Zeitpunkt"
|
||||
|
||||
#: templates/risks/item_control.html:97 templates/risks/item_incident.html:89
|
||||
#: templates/risks/item_risk.html:246
|
||||
#: templates/risks/item_risk.html:261
|
||||
msgid "Action"
|
||||
msgstr "Aktion"
|
||||
|
||||
#: templates/risks/item_control.html:108 templates/risks/item_incident.html:100
|
||||
#: templates/risks/item_risk.html:257
|
||||
#: templates/risks/item_risk.html:272
|
||||
msgid "No history found."
|
||||
msgstr "Keine Historie vorhanden"
|
||||
|
||||
|
@ -683,7 +685,7 @@ msgstr "Vorfall bearbeiten"
|
|||
msgid "Delete Incident"
|
||||
msgstr "Vorfall löschen"
|
||||
|
||||
#: templates/risks/item_incident.html:35 templates/risks/item_risk.html:220
|
||||
#: templates/risks/item_incident.html:35 templates/risks/item_risk.html:235
|
||||
#: templates/risks/list_incidents.html:100
|
||||
msgid "Reported on"
|
||||
msgstr "Gemeldet am"
|
||||
|
@ -700,67 +702,67 @@ msgstr "Risiko bearbeiten"
|
|||
msgid "Delete Risk"
|
||||
msgstr "Risiko löschen"
|
||||
|
||||
#: templates/risks/item_risk.html:26 templates/risks/item_risk.html:27
|
||||
#: templates/risks/item_risk.html:27 templates/risks/item_risk.html:28
|
||||
msgid "Mark Risk as reviewed"
|
||||
msgstr "Risiko als geprüft markieren"
|
||||
|
||||
#: templates/risks/item_risk.html:44
|
||||
#: templates/risks/item_risk.html:46
|
||||
msgid "Protection goals"
|
||||
msgstr "Schutzziele"
|
||||
|
||||
#: templates/risks/item_risk.html:48
|
||||
#: templates/risks/item_risk.html:50
|
||||
msgid "Not yet assigned"
|
||||
msgstr "Keine Zugewiesenen Ziele"
|
||||
|
||||
#: templates/risks/item_risk.html:54
|
||||
#: templates/risks/item_risk.html:69
|
||||
msgid "Risk owner"
|
||||
msgstr "Risikoeigner"
|
||||
|
||||
#: templates/risks/item_risk.html:57
|
||||
#: templates/risks/item_risk.html:72
|
||||
msgid "Resubmission"
|
||||
msgstr "Wiedervorlagedatum"
|
||||
|
||||
#: templates/risks/item_risk.html:70
|
||||
#: templates/risks/item_risk.html:85
|
||||
msgid "Risk assessment"
|
||||
msgstr "Risikomanagement"
|
||||
|
||||
#: templates/risks/item_risk.html:79
|
||||
#: templates/risks/item_risk.html:94
|
||||
msgid "Gross (before measures)"
|
||||
msgstr "Brutto (vor Maßnahmen)"
|
||||
|
||||
#: templates/risks/item_risk.html:85 templates/risks/item_risk.html:131
|
||||
#: templates/risks/item_risk.html:100 templates/risks/item_risk.html:146
|
||||
#: templates/risks/risk_matrix.html:21 templates/risks/risk_matrix.html:79
|
||||
#: templates/risks/risk_matrix.html:121
|
||||
msgid "Likelihood"
|
||||
msgstr "Eintritt"
|
||||
|
||||
#: templates/risks/item_risk.html:94 templates/risks/item_risk.html:140
|
||||
#: templates/risks/item_risk.html:109 templates/risks/item_risk.html:155
|
||||
#: templates/risks/risk_matrix.html:21 templates/risks/risk_matrix.html:79
|
||||
#: templates/risks/risk_matrix.html:121
|
||||
msgid "Impact"
|
||||
msgstr "Schaden"
|
||||
|
||||
#: templates/risks/item_risk.html:103 templates/risks/item_risk.html:149
|
||||
#: templates/risks/item_risk.html:118 templates/risks/item_risk.html:164
|
||||
msgid "Level"
|
||||
msgstr "Stufe"
|
||||
|
||||
#: templates/risks/item_risk.html:112 templates/risks/item_risk.html:158
|
||||
#: templates/risks/item_risk.html:127 templates/risks/item_risk.html:173
|
||||
msgid "Score"
|
||||
msgstr "Score"
|
||||
|
||||
#: templates/risks/item_risk.html:125
|
||||
#: templates/risks/item_risk.html:140
|
||||
msgid "Net (after measures)"
|
||||
msgstr "Netto (nach Maßnahmen)"
|
||||
|
||||
#: templates/risks/item_risk.html:169
|
||||
#: templates/risks/item_risk.html:184
|
||||
msgid "Add net Risk"
|
||||
msgstr "Restrisiko hinzufügen"
|
||||
|
||||
#: templates/risks/item_risk.html:205
|
||||
#: templates/risks/item_risk.html:220
|
||||
msgid "No measures recorded."
|
||||
msgstr "Keine Maßnahmen gefunden."
|
||||
|
||||
#: templates/risks/item_risk.html:231
|
||||
#: templates/risks/item_risk.html:246
|
||||
msgid "No incidents recorded."
|
||||
msgstr "Keine Vorfälle gefunden."
|
||||
|
||||
|
@ -862,6 +864,12 @@ msgstr "Brutto"
|
|||
msgid "Net"
|
||||
msgstr "Netto"
|
||||
|
||||
#~ msgid "Notification marked as read."
|
||||
#~ msgstr "Nachricht als gelesen markiert"
|
||||
|
||||
#~ msgid "All notifications marked as read."
|
||||
#~ msgstr "Alle Benachrichtigungen wurden als gelesen Markiert"
|
||||
|
||||
#~ msgid "No net risk recorded yet."
|
||||
#~ msgstr "Kein Restrisiko vergeben"
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-09-16 14:08+0200\n"
|
||||
"POT-Creation-Date: 2025-09-19 11:02+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -55,7 +55,7 @@ msgid "Users"
|
|||
msgstr ""
|
||||
|
||||
#: risks/admin.py:166 risks/models.py:370 templates/risks/item_control.html:96
|
||||
#: templates/risks/item_incident.html:88 templates/risks/item_risk.html:245
|
||||
#: templates/risks/item_incident.html:88 templates/risks/item_risk.html:260
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
|
@ -120,10 +120,11 @@ msgid "Risk Management"
|
|||
msgstr ""
|
||||
|
||||
#: risks/forms.py:13 risks/models.py:87 templates/risks/dashboard.html:83
|
||||
#: templates/risks/dashboard.html:108 templates/risks/item_control.html:35
|
||||
#: templates/risks/item_incident.html:36 templates/risks/item_risk.html:51
|
||||
#: templates/risks/item_risk.html:189 templates/risks/item_risk.html:219
|
||||
#: templates/risks/list_controls.html:48 templates/risks/list_controls.html:100
|
||||
#: templates/risks/dashboard.html:108 templates/risks/dashboard.html:133
|
||||
#: templates/risks/item_control.html:35 templates/risks/item_incident.html:36
|
||||
#: templates/risks/item_risk.html:54 templates/risks/item_risk.html:204
|
||||
#: templates/risks/item_risk.html:234 templates/risks/list_controls.html:48
|
||||
#: templates/risks/list_controls.html:100
|
||||
#: templates/risks/list_incidents.html:48
|
||||
#: templates/risks/list_incidents.html:99 templates/risks/list_risks.html:128
|
||||
msgid "Status"
|
||||
|
@ -203,7 +204,7 @@ msgid "Availability"
|
|||
msgstr ""
|
||||
|
||||
#: risks/models.py:78 risks/models.py:201 risks/models.py:270
|
||||
#: templates/risks/item_risk.html:188
|
||||
#: templates/risks/item_risk.html:203
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
|
@ -213,34 +214,34 @@ msgid "Description"
|
|||
msgstr ""
|
||||
|
||||
#: risks/models.py:80 templates/risks/item_control.html:68
|
||||
#: templates/risks/item_incident.html:60 templates/risks/item_risk.html:40
|
||||
#: templates/risks/item_incident.html:60 templates/risks/item_risk.html:42
|
||||
#: templates/risks/list_risks.html:119
|
||||
msgid "Asset"
|
||||
msgstr ""
|
||||
|
||||
#: risks/models.py:81 templates/risks/item_control.html:69
|
||||
#: templates/risks/item_incident.html:61 templates/risks/item_risk.html:41
|
||||
#: templates/risks/item_incident.html:61 templates/risks/item_risk.html:43
|
||||
#: templates/risks/list_risks.html:125
|
||||
msgid "Process"
|
||||
msgstr ""
|
||||
|
||||
#: risks/models.py:82 templates/risks/item_control.html:67
|
||||
#: templates/risks/item_incident.html:59 templates/risks/item_risk.html:42
|
||||
#: templates/risks/item_incident.html:59 templates/risks/item_risk.html:44
|
||||
#: templates/risks/list_risks.html:122
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
#: risks/models.py:83 templates/risks/item_control.html:46
|
||||
#: templates/risks/item_incident.html:39 templates/risks/item_risk.html:55
|
||||
#: templates/risks/item_incident.html:39 templates/risks/item_risk.html:70
|
||||
msgid "Created at"
|
||||
msgstr ""
|
||||
|
||||
#: risks/models.py:84 templates/risks/item_control.html:47
|
||||
#: templates/risks/item_incident.html:40 templates/risks/item_risk.html:56
|
||||
#: templates/risks/item_incident.html:40 templates/risks/item_risk.html:71
|
||||
msgid "Updated at"
|
||||
msgstr ""
|
||||
|
||||
#: risks/models.py:85 templates/risks/item_risk.html:63
|
||||
#: risks/models.py:85 templates/risks/item_risk.html:78
|
||||
msgid "Effects"
|
||||
msgstr ""
|
||||
|
||||
|
@ -286,7 +287,7 @@ msgid "Auditlogs"
|
|||
msgstr ""
|
||||
|
||||
#: risks/models.py:261 templates/risks/item_incident.html:33
|
||||
#: templates/risks/item_risk.html:218 templates/risks/list_incidents.html:97
|
||||
#: templates/risks/item_risk.html:233 templates/risks/list_incidents.html:97
|
||||
msgid "Incident"
|
||||
msgstr ""
|
||||
|
||||
|
@ -380,7 +381,7 @@ msgstr ""
|
|||
msgid "Notification"
|
||||
msgstr ""
|
||||
|
||||
#: risks/models.py:322 templates/base.html:96
|
||||
#: risks/models.py:322 templates/base.html:98
|
||||
#: templates/risks/notifications.html:4
|
||||
msgid "Notifications"
|
||||
msgstr ""
|
||||
|
@ -513,27 +514,19 @@ msgstr ""
|
|||
msgid "Not all controls are completed. Risk cannot be closed yet."
|
||||
msgstr ""
|
||||
|
||||
#: risks/views.py:378
|
||||
msgid "Notification marked as read."
|
||||
msgstr ""
|
||||
|
||||
#: risks/views.py:388
|
||||
msgid "All notifications marked as read."
|
||||
msgstr ""
|
||||
|
||||
#: risks/views.py:407
|
||||
#: risks/views.py:409
|
||||
msgid "Risk status updated."
|
||||
msgstr ""
|
||||
|
||||
#: risks/views.py:423
|
||||
#: risks/views.py:425
|
||||
msgid "Control status updated."
|
||||
msgstr ""
|
||||
|
||||
#: risks/views.py:439
|
||||
#: risks/views.py:441
|
||||
msgid "Incident status updated."
|
||||
msgstr ""
|
||||
|
||||
#: risks/views.py:456
|
||||
#: risks/views.py:458
|
||||
msgid "Residual review flag updated."
|
||||
msgstr ""
|
||||
|
||||
|
@ -555,27 +548,27 @@ msgstr ""
|
|||
msgid "Risk analysis"
|
||||
msgstr ""
|
||||
|
||||
#: templates/base.html:91
|
||||
#: templates/base.html:93
|
||||
msgid "AdminCP"
|
||||
msgstr ""
|
||||
|
||||
#: templates/base.html:104
|
||||
#: templates/base.html:106
|
||||
msgid "Derk Mode"
|
||||
msgstr ""
|
||||
|
||||
#: templates/base.html:110
|
||||
#: templates/base.html:112
|
||||
msgid "Logout"
|
||||
msgstr ""
|
||||
|
||||
#: templates/base.html:125
|
||||
#: templates/base.html:127
|
||||
msgid "Login"
|
||||
msgstr ""
|
||||
|
||||
#: templates/base.html:160 templates/base.html:167
|
||||
#: templates/base.html:162 templates/base.html:169
|
||||
msgid "Light Mode"
|
||||
msgstr ""
|
||||
|
||||
#: templates/base.html:170
|
||||
#: templates/base.html:172
|
||||
msgid "Dark Mode"
|
||||
msgstr ""
|
||||
|
||||
|
@ -600,23 +593,28 @@ msgid "Risks by CIA"
|
|||
msgstr ""
|
||||
|
||||
#: templates/risks/dashboard.html:78
|
||||
msgid "Controls by Status"
|
||||
msgid "Risks by Status"
|
||||
msgstr ""
|
||||
|
||||
#: templates/risks/dashboard.html:84 templates/risks/dashboard.html:109
|
||||
#: templates/risks/dashboard.html:134
|
||||
msgid "Count"
|
||||
msgstr ""
|
||||
|
||||
#: templates/risks/dashboard.html:94 templates/risks/dashboard.html:119
|
||||
#: templates/risks/list_risks.html:185
|
||||
#: templates/risks/dashboard.html:144 templates/risks/list_risks.html:185
|
||||
msgid "No data"
|
||||
msgstr ""
|
||||
|
||||
#: templates/risks/dashboard.html:103
|
||||
msgid "Controls by Status"
|
||||
msgstr ""
|
||||
|
||||
#: templates/risks/dashboard.html:128
|
||||
msgid "Incidents by Status"
|
||||
msgstr ""
|
||||
|
||||
#: templates/risks/dashboard.html:127
|
||||
#: templates/risks/dashboard.html:152
|
||||
msgid "Risk Trend (per Month)"
|
||||
msgstr ""
|
||||
|
||||
|
@ -643,17 +641,17 @@ msgstr ""
|
|||
msgid "Delete Control"
|
||||
msgstr ""
|
||||
|
||||
#: templates/risks/item_control.html:34 templates/risks/item_risk.html:191
|
||||
#: templates/risks/item_control.html:34 templates/risks/item_risk.html:206
|
||||
#: templates/risks/list_controls.html:63 templates/risks/list_controls.html:99
|
||||
msgid "Responsible"
|
||||
msgstr ""
|
||||
|
||||
#: templates/risks/item_control.html:37 templates/risks/item_risk.html:192
|
||||
#: templates/risks/item_control.html:37 templates/risks/item_risk.html:207
|
||||
#: templates/risks/list_controls.html:102
|
||||
msgid "Link"
|
||||
msgstr ""
|
||||
|
||||
#: templates/risks/item_control.html:48 templates/risks/item_risk.html:190
|
||||
#: templates/risks/item_control.html:48 templates/risks/item_risk.html:205
|
||||
#: templates/risks/list_controls.html:101
|
||||
msgid "Deadline"
|
||||
msgstr ""
|
||||
|
@ -667,17 +665,17 @@ msgid "No linked risks."
|
|||
msgstr ""
|
||||
|
||||
#: templates/risks/item_control.html:95 templates/risks/item_incident.html:87
|
||||
#: templates/risks/item_risk.html:244
|
||||
#: templates/risks/item_risk.html:259
|
||||
msgid "Time"
|
||||
msgstr ""
|
||||
|
||||
#: templates/risks/item_control.html:97 templates/risks/item_incident.html:89
|
||||
#: templates/risks/item_risk.html:246
|
||||
#: templates/risks/item_risk.html:261
|
||||
msgid "Action"
|
||||
msgstr ""
|
||||
|
||||
#: templates/risks/item_control.html:108 templates/risks/item_incident.html:100
|
||||
#: templates/risks/item_risk.html:257
|
||||
#: templates/risks/item_risk.html:272
|
||||
msgid "No history found."
|
||||
msgstr ""
|
||||
|
||||
|
@ -689,7 +687,7 @@ msgstr ""
|
|||
msgid "Delete Incident"
|
||||
msgstr ""
|
||||
|
||||
#: templates/risks/item_incident.html:35 templates/risks/item_risk.html:220
|
||||
#: templates/risks/item_incident.html:35 templates/risks/item_risk.html:235
|
||||
#: templates/risks/list_incidents.html:100
|
||||
msgid "Reported on"
|
||||
msgstr ""
|
||||
|
@ -706,67 +704,67 @@ msgstr ""
|
|||
msgid "Delete Risk"
|
||||
msgstr ""
|
||||
|
||||
#: templates/risks/item_risk.html:26 templates/risks/item_risk.html:27
|
||||
#: templates/risks/item_risk.html:27 templates/risks/item_risk.html:28
|
||||
msgid "Mark Risk as reviewed"
|
||||
msgstr ""
|
||||
|
||||
#: templates/risks/item_risk.html:44
|
||||
#: templates/risks/item_risk.html:46
|
||||
msgid "Protection goals"
|
||||
msgstr ""
|
||||
|
||||
#: templates/risks/item_risk.html:48
|
||||
#: templates/risks/item_risk.html:50
|
||||
msgid "Not yet assigned"
|
||||
msgstr ""
|
||||
|
||||
#: templates/risks/item_risk.html:54
|
||||
#: templates/risks/item_risk.html:69
|
||||
msgid "Risk owner"
|
||||
msgstr ""
|
||||
|
||||
#: templates/risks/item_risk.html:57
|
||||
#: templates/risks/item_risk.html:72
|
||||
msgid "Resubmission"
|
||||
msgstr ""
|
||||
|
||||
#: templates/risks/item_risk.html:70
|
||||
#: templates/risks/item_risk.html:85
|
||||
msgid "Risk assessment"
|
||||
msgstr ""
|
||||
|
||||
#: templates/risks/item_risk.html:79
|
||||
#: templates/risks/item_risk.html:94
|
||||
msgid "Gross (before measures)"
|
||||
msgstr ""
|
||||
|
||||
#: templates/risks/item_risk.html:85 templates/risks/item_risk.html:131
|
||||
#: templates/risks/item_risk.html:100 templates/risks/item_risk.html:146
|
||||
#: templates/risks/risk_matrix.html:21 templates/risks/risk_matrix.html:79
|
||||
#: templates/risks/risk_matrix.html:121
|
||||
msgid "Likelihood"
|
||||
msgstr ""
|
||||
|
||||
#: templates/risks/item_risk.html:94 templates/risks/item_risk.html:140
|
||||
#: templates/risks/item_risk.html:109 templates/risks/item_risk.html:155
|
||||
#: templates/risks/risk_matrix.html:21 templates/risks/risk_matrix.html:79
|
||||
#: templates/risks/risk_matrix.html:121
|
||||
msgid "Impact"
|
||||
msgstr ""
|
||||
|
||||
#: templates/risks/item_risk.html:103 templates/risks/item_risk.html:149
|
||||
#: templates/risks/item_risk.html:118 templates/risks/item_risk.html:164
|
||||
msgid "Level"
|
||||
msgstr ""
|
||||
|
||||
#: templates/risks/item_risk.html:112 templates/risks/item_risk.html:158
|
||||
#: templates/risks/item_risk.html:127 templates/risks/item_risk.html:173
|
||||
msgid "Score"
|
||||
msgstr ""
|
||||
|
||||
#: templates/risks/item_risk.html:125
|
||||
#: templates/risks/item_risk.html:140
|
||||
msgid "Net (after measures)"
|
||||
msgstr ""
|
||||
|
||||
#: templates/risks/item_risk.html:169
|
||||
#: templates/risks/item_risk.html:184
|
||||
msgid "Add net Risk"
|
||||
msgstr ""
|
||||
|
||||
#: templates/risks/item_risk.html:205
|
||||
#: templates/risks/item_risk.html:220
|
||||
msgid "No measures recorded."
|
||||
msgstr ""
|
||||
|
||||
#: templates/risks/item_risk.html:231
|
||||
#: templates/risks/item_risk.html:246
|
||||
msgid "No incidents recorded."
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ from ..models import Control, Incident, Risk
|
|||
|
||||
register = template.Library()
|
||||
|
||||
_RISK_STATUS_MAP = dict(Risk.STATUS_CHOICES)
|
||||
_CONTROL_STATUS_MAP = dict(Control.STATUS_CHOICES)
|
||||
_INCIDENT_STATUS_MAP = dict(Incident.STATUS_CHOICES)
|
||||
_LIKELIHOOD_LABELS = dict(Risk.LIKELIHOOD_CHOICES)
|
||||
|
@ -75,6 +76,9 @@ def impact_id_label(val):
|
|||
short = _short(str(label)) if label else ""
|
||||
return format_html("{} ({})", i, short) if label else format_html("{}", i)
|
||||
|
||||
@register.filter
|
||||
def risk_status_label(code):
|
||||
return _RISK_STATUS_MAP.get(code, code)
|
||||
|
||||
@register.filter
|
||||
def control_status_label(code):
|
||||
|
|
|
@ -314,7 +314,8 @@ def dashboard(request):
|
|||
# Residual Risks
|
||||
residual_review_required = ResidualRisk.objects.filter(review_required=True).count()
|
||||
|
||||
# Controls & Incidents
|
||||
# Risks, Controls & Incidents
|
||||
risks_by_status = Risk.objects.values("status").annotate(count=Count("id"))
|
||||
controls_by_status = Control.objects.values("status").annotate(count=Count("id"))
|
||||
incidents_status = Incident.objects.values("status").annotate(count=Count("id"))
|
||||
|
||||
|
@ -344,6 +345,7 @@ def dashboard(request):
|
|||
"risks_by_level": risks_by_level,
|
||||
"risks_by_cia": dict(cia_counter),
|
||||
"residual_review_required": residual_review_required,
|
||||
"risks_by_status": risks_by_status,
|
||||
"controls_by_status": controls_by_status,
|
||||
"incidents_status": incidents_status,
|
||||
"notifications_unread": notifications_unread,
|
||||
|
|
|
@ -73,55 +73,89 @@
|
|||
</div>
|
||||
</div><!-- Risks by CIA End -->
|
||||
|
||||
<!-- Controls by Status -->
|
||||
<div class="box">
|
||||
<h2 class="title is-5">{% trans "Controls by Status" %}</h2>
|
||||
<div class="table-container">
|
||||
<table class="table is-fullwidth is-narrow is-hoverable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{% trans "Status" %}</th>
|
||||
<th>{% trans "Count" %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for row in controls_by_status %}
|
||||
<tr>
|
||||
<td>{{ row.status|control_status_label }}</td>
|
||||
<td>{{ row.count }}</td>
|
||||
</tr>
|
||||
{% empty %}
|
||||
<tr><td colspan="2" class="has-text-grey has-text-centered">{% trans "No data" %}</td></tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div><!-- Controls by Status End -->
|
||||
<div class="columns">
|
||||
<!-- Risks by Status -->
|
||||
<div class="column">
|
||||
<div class="box">
|
||||
<h2 class="title is-5">{% trans "Risks by Status" %}</h2>
|
||||
<div class="table-container">
|
||||
<table class="table is-fullwidth is-narrow is-hoverable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{% trans "Status" %}</th>
|
||||
<th>{% trans "Count" %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for row in risks_by_status %}
|
||||
<tr>
|
||||
<td>{{ row.status|risk_status_label }}</td>
|
||||
<td>{{ row.count }}</td>
|
||||
</tr>
|
||||
{% empty %}
|
||||
<tr><td colspan="2" class="has-text-grey has-text-centered">{% trans "No data" %}</td></tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- Risks End -->
|
||||
|
||||
<!-- Incidents by Status -->
|
||||
<div class="box">
|
||||
<h2 class="title is-5">{% trans "Incidents by Status" %}</h2>
|
||||
<div class="table-container">
|
||||
<table class="table is-fullwidth is-narrow is-hoverable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{% trans "Status" %}</th>
|
||||
<th>{% trans "Count" %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for row in incidents_status %}
|
||||
<tr>
|
||||
<td>{{ row.status|incident_status_label }}</td>
|
||||
<td>{{ row.count }}</td>
|
||||
</tr>
|
||||
{% empty %}
|
||||
<tr><td colspan="2" class="has-text-grey has-text-centered">{% trans "No data" %}</td></tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div><!-- Incidents by Status End -->
|
||||
<!-- Controls by Status -->
|
||||
<div class="column">
|
||||
<div class="box">
|
||||
<h2 class="title is-5">{% trans "Controls by Status" %}</h2>
|
||||
<div class="table-container">
|
||||
<table class="table is-fullwidth is-narrow is-hoverable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{% trans "Status" %}</th>
|
||||
<th>{% trans "Count" %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for row in controls_by_status %}
|
||||
<tr>
|
||||
<td>{{ row.status|control_status_label }}</td>
|
||||
<td>{{ row.count }}</td>
|
||||
</tr>
|
||||
{% empty %}
|
||||
<tr><td colspan="2" class="has-text-grey has-text-centered">{% trans "No data" %}</td></tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- Controls End -->
|
||||
|
||||
<!-- Incidents by Status -->
|
||||
<div class="column">
|
||||
<div class="box">
|
||||
<h2 class="title is-5">{% trans "Incidents by Status" %}</h2>
|
||||
<div class="table-container">
|
||||
<table class="table is-fullwidth is-narrow is-hoverable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{% trans "Status" %}</th>
|
||||
<th>{% trans "Count" %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for row in incidents_status %}
|
||||
<tr>
|
||||
<td>{{ row.status|incident_status_label }}</td>
|
||||
<td>{{ row.count }}</td>
|
||||
</tr>
|
||||
{% empty %}
|
||||
<tr><td colspan="2" class="has-text-grey has-text-centered">{% trans "No data" %}</td></tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- Incidents End -->
|
||||
|
||||
</div><!-- columns End -->
|
||||
|
||||
<div class="box">
|
||||
<h2 class="title is-5">{% trans "Risk Trend (per Month)" %}</h2>
|
||||
|
|
Loading…
Add table
Reference in a new issue