
- Introduced a new `status` field to the `Risk` model with choices for "open", "in_progress", "closed", and "review_required". - Created a `NotificationPreference` model to manage user notification settings for various events related to risks, controls, residual risks, reviews, users, and incidents. - Updated the admin interface to include `NotificationPreference` inline with the `User` admin. - Enhanced signal handlers to send notifications based on user preferences for created, updated, and deleted events for users, risks, controls, and incidents. - Modified the `check_risk_followups` utility function to update risk status and create notifications for follow-ups. - Updated serializers and views to accommodate the new `status` field and improved risk listing functionality. - Added a new section in the risk detail template to display related incidents. - Removed the unused statistics view from URLs.
383 lines
7.2 KiB
Text
383 lines
7.2 KiB
Text
# SOME DESCRIPTIVE TITLE.
|
||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||
# This file is distributed under the same license as the PACKAGE package.
|
||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||
#
|
||
#, fuzzy
|
||
msgid ""
|
||
msgstr ""
|
||
"Project-Id-Version: PACKAGE VERSION\n"
|
||
"Report-Msgid-Bugs-To: \n"
|
||
"POT-Creation-Date: 2025-09-10 11:18+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"
|
||
"Language: \n"
|
||
"MIME-Version: 1.0\n"
|
||
"Content-Type: text/plain; charset=UTF-8\n"
|
||
"Content-Transfer-Encoding: 8bit\n"
|
||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||
|
||
#: risks/admin.py:6 risks/admin.py:8
|
||
msgid "Administration"
|
||
msgstr ""
|
||
|
||
#: risks/admin.py:7
|
||
msgid "Admin"
|
||
msgstr ""
|
||
|
||
#: risks/admin.py:15 risks/models.py:36 templates/risks/dashboard.html:75
|
||
#: templates/risks/dashboard.html:80 templates/risks/dashboard.html:85
|
||
#: templates/risks/list_risks.html:76
|
||
msgid "Risks"
|
||
msgstr ""
|
||
|
||
#: risks/admin.py:16 risks/models.py:190 templates/risks/list_risks.html:37
|
||
msgid "Controls"
|
||
msgstr ""
|
||
|
||
#: risks/admin.py:17
|
||
msgid "Residual risks"
|
||
msgstr ""
|
||
|
||
#: risks/admin.py:18
|
||
msgid "Reviews"
|
||
msgstr ""
|
||
|
||
#: risks/admin.py:19 risks/models.py:258
|
||
msgid "Incidents"
|
||
msgstr ""
|
||
|
||
#: risks/admin.py:20
|
||
msgid "Users"
|
||
msgstr ""
|
||
|
||
#: risks/admin.py:26
|
||
msgid "SSO Information"
|
||
msgstr ""
|
||
|
||
#: risks/admin.py:35
|
||
msgid "Risks Owned"
|
||
msgstr ""
|
||
|
||
#: risks/admin.py:39
|
||
msgid "Controls Responsible"
|
||
msgstr ""
|
||
|
||
#: risks/apps.py:7
|
||
msgid "Risk Management"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:35 templates/risks/list_risks.html:18
|
||
#: templates/risks/list_risks.html:83
|
||
msgid "Risk"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:39
|
||
msgid "Open"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:40 risks/models.py:262
|
||
msgid "In Progress"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:41 risks/models.py:263
|
||
msgid "Closed"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:42
|
||
msgid "Review required"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:45
|
||
msgid "Very low – occurs less than once every 5 years"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:46
|
||
msgid "Low – once every 1–5 years"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:47
|
||
msgid "Likely – once per year or more"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:48
|
||
msgid "Very likely – multiple times per year/monthly"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:51
|
||
msgid "Very Low (< 1,000 € – minor operational impact)"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:52
|
||
msgid "Low (1,000–5,000 € – local impact)"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:53
|
||
msgid "High (5,000–15,000 € – team-level impact)"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:54
|
||
msgid "Severe (50,000–100,000 € – regional impact)"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:55
|
||
msgid "Critical (> 100,000 € – existential threat)"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:58 templates/risks/dashboard.html:74
|
||
msgid "Confidentiality"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:59 templates/risks/dashboard.html:79
|
||
msgid "Integrity"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:60 templates/risks/dashboard.html:84
|
||
msgid "Availability"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:64 risks/models.py:200 risks/models.py:265
|
||
msgid "Title"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:65 risks/models.py:266
|
||
msgid "Description"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:66
|
||
msgid "Asset"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:67
|
||
msgid "Process"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:68 templates/risks/list_risks.html:85
|
||
msgid "Category"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:69
|
||
msgid "Created at"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:70
|
||
msgid "Updated at"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:73
|
||
msgid "Status"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:133
|
||
msgid "Residual Risk"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:134
|
||
msgid "Residual Risks"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:189
|
||
msgid "Control"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:193
|
||
msgid "Planned"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:194
|
||
msgid "In progress"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:195
|
||
msgid "Completed"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:196
|
||
msgid "Verified"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:197
|
||
msgid "Rejected"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:226
|
||
msgid "Auditlog"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:227
|
||
msgid "Auditlogs"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:257
|
||
msgid "Incident"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:261
|
||
msgid "Opened"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:267
|
||
msgid "Date reported"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:269
|
||
msgid "Reported by"
|
||
msgstr ""
|
||
|
||
#: risks/models.py:298
|
||
msgid "User"
|
||
msgstr ""
|
||
|
||
#: risks/signals.py:57
|
||
#, python-brace-format
|
||
msgid "User '{u}' created"
|
||
msgstr ""
|
||
|
||
#: risks/signals.py:62
|
||
#, python-brace-format
|
||
msgid "User '{u}' deleted"
|
||
msgstr ""
|
||
|
||
#: risks/signals.py:70
|
||
#, python-brace-format
|
||
msgid "Risk '{title}' {state}"
|
||
msgstr ""
|
||
|
||
#: risks/signals.py:72 risks/signals.py:147 risks/signals.py:240
|
||
#: risks/signals.py:296
|
||
msgid "created"
|
||
msgstr ""
|
||
|
||
#: risks/signals.py:72 risks/signals.py:147 risks/signals.py:240
|
||
#: risks/signals.py:296
|
||
msgid "updated"
|
||
msgstr ""
|
||
|
||
#: risks/signals.py:78
|
||
#, python-brace-format
|
||
msgid "Risk '{title}' deleted"
|
||
msgstr ""
|
||
|
||
#: risks/signals.py:145
|
||
#, python-brace-format
|
||
msgid "Control '{title}' {state}"
|
||
msgstr ""
|
||
|
||
#: risks/signals.py:154
|
||
#, python-brace-format
|
||
msgid "Control '{title}' deleted"
|
||
msgstr ""
|
||
|
||
#: risks/signals.py:211
|
||
#, python-brace-format
|
||
msgid "Review required for risk '{t}' due to control change"
|
||
msgstr ""
|
||
|
||
#: risks/signals.py:230
|
||
#, python-brace-format
|
||
msgid "Review required for risk '{t}'"
|
||
msgstr ""
|
||
|
||
#: risks/signals.py:235
|
||
#, python-brace-format
|
||
msgid "Review completed for risk '{t}'"
|
||
msgstr ""
|
||
|
||
#: risks/signals.py:239
|
||
#, python-brace-format
|
||
msgid "Residual risk {state} for '{t}'"
|
||
msgstr ""
|
||
|
||
#: risks/signals.py:244
|
||
#, python-brace-format
|
||
msgid "Residual risk deleted for '{t}'"
|
||
msgstr ""
|
||
|
||
#: risks/signals.py:296
|
||
#, python-brace-format
|
||
msgid "Incident '{t}' {s}"
|
||
msgstr ""
|
||
|
||
#: risks/signals.py:301
|
||
#, python-brace-format
|
||
msgid "Incident '{t}' deleted"
|
||
msgstr ""
|
||
|
||
#: risks/utils.py:48
|
||
#, python-brace-format
|
||
msgid "Follow-up reached: review required for risk '{t}'"
|
||
msgstr ""
|
||
|
||
#: templates/risks/dashboard.html:9
|
||
msgid "Dashboard"
|
||
msgstr ""
|
||
|
||
#: templates/risks/dashboard.html:12
|
||
msgid "Overview of Risks, Controls and Incidents"
|
||
msgstr ""
|
||
|
||
#: templates/risks/dashboard.html:25
|
||
msgid "Total Risks"
|
||
msgstr ""
|
||
|
||
#: templates/risks/dashboard.html:33
|
||
msgid "Residual Risks Needing Review"
|
||
msgstr ""
|
||
|
||
#: templates/risks/dashboard.html:41
|
||
msgid "Unread Notifications"
|
||
msgstr ""
|
||
|
||
#: templates/risks/dashboard.html:48
|
||
msgid "Controls by Status"
|
||
msgstr ""
|
||
|
||
#: templates/risks/dashboard.html:58
|
||
msgid "Incidents by Status"
|
||
msgstr ""
|
||
|
||
#: templates/risks/dashboard.html:68
|
||
msgid "Risks by CIA"
|
||
msgstr ""
|
||
|
||
#: templates/risks/item_risk.html:68 templates/risks/item_risk.html:114
|
||
#: templates/risks/list_risks.html:86
|
||
msgid "Likelihood"
|
||
msgstr ""
|
||
|
||
#: templates/risks/item_risk.html:77 templates/risks/item_risk.html:123
|
||
#: templates/risks/list_risks.html:87
|
||
msgid "Impact"
|
||
msgstr ""
|
||
|
||
#: templates/risks/item_risk.html:86 templates/risks/item_risk.html:132
|
||
#: templates/risks/list_risks.html:89
|
||
msgid "Level"
|
||
msgstr ""
|
||
|
||
#: templates/risks/item_risk.html:95 templates/risks/item_risk.html:140
|
||
#: templates/risks/list_risks.html:88
|
||
msgid "Score"
|
||
msgstr ""
|
||
|
||
#: templates/risks/list_risks.html:4
|
||
msgid "Risk analysis"
|
||
msgstr ""
|
||
|
||
#: templates/risks/list_risks.html:9
|
||
msgid "Filter"
|
||
msgstr ""
|
||
|
||
#: templates/risks/list_risks.html:22 templates/risks/list_risks.html:41
|
||
#: templates/risks/list_risks.html:60
|
||
msgid "All"
|
||
msgstr ""
|
||
|
||
#: templates/risks/list_risks.html:56 templates/risks/list_risks.html:90
|
||
msgid "Risk Owner"
|
||
msgstr ""
|
||
|
||
#: templates/risks/list_risks.html:84
|
||
msgid "Asset / Process"
|
||
msgstr ""
|