
- Updated `item_incident.html` to implement ERP-style tabs for better navigation and added action icons for editing and deleting incidents. - Enhanced the overview tab with translated labels and improved layout for incident details. - Introduced linked risks and history tabs with appropriate translations and table structures. - Modified `item_risk.html` to include action icons for editing and deleting risks. - Refined `list_controls.html` to improve filter section layout and added translations for filter labels. - Updated `list_incidents.html` to enhance filter functionality and table layout, including translations for headers and buttons. - Improved `list_risks.html` by adding an action icon for adding new risks. - Adjusted `notifications.html` to enhance the display of new notifications with improved formatting and links.
35 lines
1.4 KiB
Python
35 lines
1.4 KiB
Python
from django.apps import AppConfig
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Risks AppConfig
|
|
# ---------------------------------------------------------------------------
|
|
class RisksConfig(AppConfig):
|
|
"""App configuration for the risks module."""
|
|
default_auto_field = "django.db.models.BigAutoField"
|
|
name = "risks"
|
|
verbose_name = _("Risk Management")
|
|
|
|
def ready(self):
|
|
"""
|
|
Initialize signals and ensure NotificationRules exist for all
|
|
NotificationKind choices. Ignores database errors during migration.
|
|
"""
|
|
import risks.signals # noqa: F401 (ensure signal handlers are loaded)
|
|
|
|
try:
|
|
from django.db.utils import OperationalError, ProgrammingError
|
|
from .models import NotificationRule, NotificationKind
|
|
|
|
# Test DB availability
|
|
NotificationRule.objects.count()
|
|
except (OperationalError, ProgrammingError):
|
|
# Happens during migrate or before tables exist
|
|
return
|
|
|
|
# Ensure all NotificationKind values have a corresponding NotificationRule
|
|
existing = set(NotificationRule.objects.values_list("kind", flat=True))
|
|
for kind, _label in NotificationKind.choices:
|
|
if kind not in existing:
|
|
NotificationRule.objects.create(kind=kind)
|