wbcompliance 1.55.9__tar.gz → 1.56.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/PKG-INFO +1 -1
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/models/compliance_task.py +5 -5
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/models/enums.py +1 -1
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/models/risk_management/incidents.py +8 -3
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/models/risk_management/mixins.py +2 -2
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/models/risk_management/rules.py +6 -3
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/tests/disable_signals.py +11 -10
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/tests/test_views.py +1 -1
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/buttons/compliance_task.py +14 -14
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/.gitignore +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/pyproject.toml +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/admin/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/admin/compliance_form.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/admin/compliance_task.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/admin/compliance_type.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/admin/risk_management/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/admin/risk_management/checks.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/admin/risk_management/incidents.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/admin/risk_management/rules.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/admin/utils.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/apps.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/factories/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/factories/compliance.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/factories/risk_management/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/factories/risk_management/backends.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/factories/risk_management/checks.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/factories/risk_management/incidents.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/factories/risk_management/rules.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/filters/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/filters/compliances.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/filters/risk_management/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/filters/risk_management/checks.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/filters/risk_management/incidents.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/filters/risk_management/rules.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/filters/risk_management/tables.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/filters/risk_management/utils.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/fixtures/compliance.yaml +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/locale/de/LC_MESSAGES/django.mo +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/locale/de/LC_MESSAGES/django.po +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/locale/en/LC_MESSAGES/django.mo +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/locale/en/LC_MESSAGES/django.po +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/locale/fr/LC_MESSAGES/django.mo +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/locale/fr/LC_MESSAGES/django.po +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/management/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/migrations/0001_initial_squashed_squashed_0010_alter_checkedobjectincidentrelationship_resolved_by_and_more.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/migrations/0011_alter_riskrule_parameters.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/migrations/0012_alter_compliancetype_options.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/migrations/0013_alter_riskrule_unique_together.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/migrations/0014_alter_reviewcompliancetask_year.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/migrations/0015_auto_20240103_0957.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/migrations/0016_checkedobjectincidentrelationship_report_details_and_more.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/migrations/0017_alter_rulebackend_incident_report_template.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/migrations/0018_alter_rulecheckedobjectrelationship_unique_together.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/migrations/0019_rulegroup_riskrule_activation_date_and_more.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/migrations/0020_rename_trigger_content_type_riskcheck_checked_object_content_type_and_more.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/migrations/0021_riskcheck_passive_check.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/migrations/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/models/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/models/compliance_form.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/models/compliance_type.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/models/risk_management/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/models/risk_management/backend.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/models/risk_management/checks.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/models/risk_management/dispatch.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/permissions.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/serializers/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/serializers/compliance_form.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/serializers/compliance_task.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/serializers/compliance_type.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/serializers/risk_management/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/serializers/risk_management/checks.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/serializers/risk_management/incidents.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/serializers/risk_management/rules.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/tasks.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/templates/compliance/compliance_form.html +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/templates/compliance/review_compliance_task_report.html +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/templates/risk_management/incident_notification.html +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/templates/risk_management/incident_report.html +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/tests/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/tests/conftest.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/tests/mixins.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/tests/risk_management/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/tests/risk_management/models/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/tests/risk_management/models/test_backends.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/tests/risk_management/models/test_checks.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/tests/risk_management/models/test_incidents.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/tests/risk_management/models/test_rules.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/tests/signals.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/tests/test_filters.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/tests/test_models.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/tests/test_serializers.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/tests/tests.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/urls.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/buttons/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/buttons/compliance_form.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/buttons/risk_managment/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/buttons/risk_managment/checks.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/buttons/risk_managment/incidents.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/buttons/risk_managment/rules.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/compliance_form.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/compliance_task.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/compliance_type.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/display/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/display/compliance_form.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/display/compliance_task.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/display/compliance_type.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/display/risk_managment/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/display/risk_managment/checks.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/display/risk_managment/incidents.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/display/risk_managment/rules.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/display/risk_managment/tables.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/endpoints/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/endpoints/compliance_form.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/endpoints/compliance_task.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/endpoints/compliance_type.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/endpoints/risk_managment/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/endpoints/risk_managment/checks.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/endpoints/risk_managment/incidents.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/endpoints/risk_managment/rules.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/endpoints/risk_managment/tables.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/menu/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/menu/compliance_form.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/menu/compliance_task.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/menu/compliance_type.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/menu/risk_management.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/risk_management/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/risk_management/checks.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/risk_management/incidents.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/risk_management/mixins.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/risk_management/rules.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/risk_management/tables.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/titles/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/titles/compliance_form.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/titles/compliance_task.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/titles/compliance_type.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/titles/risk_managment/__init__.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/titles/risk_managment/checks.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/titles/risk_managment/incidents.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/titles/risk_managment/rules.py +0 -0
- {wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/titles/risk_managment/tables.py +0 -0
|
@@ -75,7 +75,7 @@ class ComplianceTask(WBModel):
|
|
|
75
75
|
@classmethod
|
|
76
76
|
def get_color_map(cls) -> list:
|
|
77
77
|
colors = [WBColor.GREEN_LIGHT.value, WBColor.YELLOW_LIGHT.value, WBColor.RED_LIGHT.value]
|
|
78
|
-
return [choice for choice in zip(cls, colors)]
|
|
78
|
+
return [choice for choice in zip(cls, colors, strict=False)]
|
|
79
79
|
|
|
80
80
|
title = models.CharField(max_length=255, verbose_name=_("Title"))
|
|
81
81
|
description = models.TextField(default="", blank=True, verbose_name=_("Description"))
|
|
@@ -171,7 +171,7 @@ class ComplianceTaskInstance(models.Model):
|
|
|
171
171
|
WBColor.BLUE_LIGHT.value,
|
|
172
172
|
WBColor.RED_LIGHT.value,
|
|
173
173
|
]
|
|
174
|
-
return [choice for choice in zip(cls, colors)]
|
|
174
|
+
return [choice for choice in zip(cls, colors, strict=False)]
|
|
175
175
|
|
|
176
176
|
task = models.ForeignKey(
|
|
177
177
|
on_delete=models.CASCADE,
|
|
@@ -235,7 +235,7 @@ class ComplianceAction(models.Model):
|
|
|
235
235
|
@classmethod
|
|
236
236
|
def get_color_map(cls) -> list:
|
|
237
237
|
colors = [WBColor.GREY.value, WBColor.YELLOW_LIGHT.value, WBColor.GREEN_LIGHT.value]
|
|
238
|
-
return [choice for choice in zip(cls, colors)]
|
|
238
|
+
return [choice for choice in zip(cls, colors, strict=False)]
|
|
239
239
|
|
|
240
240
|
title = models.CharField(max_length=255, verbose_name=_("Title"))
|
|
241
241
|
description = models.TextField(
|
|
@@ -310,7 +310,7 @@ class ComplianceEvent(models.Model):
|
|
|
310
310
|
@classmethod
|
|
311
311
|
def get_color_map(cls) -> list:
|
|
312
312
|
colors = [WBColor.GREY.value, WBColor.BLUE_LIGHT.value]
|
|
313
|
-
return [choice for choice in zip(cls, colors)]
|
|
313
|
+
return [choice for choice in zip(cls, colors, strict=False)]
|
|
314
314
|
|
|
315
315
|
type_event = models.CharField(
|
|
316
316
|
max_length=32,
|
|
@@ -414,7 +414,7 @@ class ReviewComplianceTask(ComplianceDocumentMixin, ComplexToStringMixin, WBMode
|
|
|
414
414
|
WBColor.YELLOW_LIGHT.value,
|
|
415
415
|
WBColor.GREEN_LIGHT.value,
|
|
416
416
|
]
|
|
417
|
-
return [choice for choice in zip(cls, colors)]
|
|
417
|
+
return [choice for choice in zip(cls, colors, strict=False)]
|
|
418
418
|
|
|
419
419
|
class Meta:
|
|
420
420
|
verbose_name = "Review Compliance Task"
|
|
@@ -10,4 +10,4 @@ class IncidentSeverity(models.TextChoices):
|
|
|
10
10
|
@classmethod
|
|
11
11
|
def get_color_map(cls) -> list:
|
|
12
12
|
colors = [WBColor.GREEN_LIGHT.value, WBColor.YELLOW_LIGHT.value, WBColor.RED_LIGHT.value]
|
|
13
|
-
return [choice for choice in zip(cls, colors)]
|
|
13
|
+
return [choice for choice in zip(cls, colors, strict=False)]
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/models/risk_management/incidents.py
RENAMED
|
@@ -29,7 +29,6 @@ from wbcore.metadata.configs.buttons import ActionButton, ButtonDefaultColor
|
|
|
29
29
|
from wbcore.metadata.configs.display.instance_display.shortcuts import (
|
|
30
30
|
create_simple_display,
|
|
31
31
|
)
|
|
32
|
-
from wbcore.models import WBModel
|
|
33
32
|
from wbcore.utils.models import ComplexToStringMixin
|
|
34
33
|
|
|
35
34
|
User: BaseUser = get_user_model()
|
|
@@ -109,7 +108,7 @@ class RiskIncidentMixin(models.Model):
|
|
|
109
108
|
abstract = True
|
|
110
109
|
|
|
111
110
|
|
|
112
|
-
class CheckedObjectIncidentRelationship(ComplexToStringMixin, RiskIncidentMixin
|
|
111
|
+
class CheckedObjectIncidentRelationship(ComplexToStringMixin, RiskIncidentMixin):
|
|
113
112
|
incident = models.ForeignKey(
|
|
114
113
|
to="wbcompliance.RiskIncident",
|
|
115
114
|
related_name="checked_object_relationships",
|
|
@@ -229,6 +228,9 @@ class CheckedObjectIncidentRelationship(ComplexToStringMixin, RiskIncidentMixin,
|
|
|
229
228
|
models.Index(fields=["incident", "rule_check"]),
|
|
230
229
|
]
|
|
231
230
|
|
|
231
|
+
def __str__(self) -> str:
|
|
232
|
+
return super().__str__()
|
|
233
|
+
|
|
232
234
|
def compute_str(self) -> str:
|
|
233
235
|
return _("{} {} Sub Incident for checked_object {}").format(self.status, self.severity, self.rule_check)
|
|
234
236
|
|
|
@@ -259,7 +261,7 @@ class RiskIncidentDefaultManager(models.Manager):
|
|
|
259
261
|
)
|
|
260
262
|
|
|
261
263
|
|
|
262
|
-
class RiskIncident(ComplexToStringMixin, RiskIncidentMixin
|
|
264
|
+
class RiskIncident(ComplexToStringMixin, RiskIncidentMixin):
|
|
263
265
|
"""
|
|
264
266
|
Instance defining the incident that has happened during a check initiated by a certain rule
|
|
265
267
|
"""
|
|
@@ -382,6 +384,9 @@ class RiskIncident(ComplexToStringMixin, RiskIncidentMixin, WBModel):
|
|
|
382
384
|
)
|
|
383
385
|
]
|
|
384
386
|
|
|
387
|
+
def __str__(self) -> str:
|
|
388
|
+
return super().__str__()
|
|
389
|
+
|
|
385
390
|
def save(self, *args, **kwargs):
|
|
386
391
|
if not self.breached_object_repr:
|
|
387
392
|
self.breached_object_repr = str(self.breached_content_object)
|
|
@@ -97,8 +97,8 @@ class RiskCheckMixin(models.Model):
|
|
|
97
97
|
)[0]
|
|
98
98
|
if asynchronously:
|
|
99
99
|
transaction.on_commit(
|
|
100
|
-
lambda: evaluate_as_task.delay(
|
|
101
|
-
|
|
100
|
+
lambda check_id=check.id: evaluate_as_task.delay(
|
|
101
|
+
check_id, *dto, override_incident=True, ignore_informational_threshold=True
|
|
102
102
|
)
|
|
103
103
|
)
|
|
104
104
|
else:
|
|
@@ -47,6 +47,9 @@ class RuleGroup(models.Model):
|
|
|
47
47
|
self.name = self.key.title()
|
|
48
48
|
super().save(*args, **kwargs)
|
|
49
49
|
|
|
50
|
+
def __str__(self) -> str:
|
|
51
|
+
return self.name
|
|
52
|
+
|
|
50
53
|
@classmethod
|
|
51
54
|
def get_representation_endpoint(cls) -> str:
|
|
52
55
|
return "wbcompliance:rulegrouprepresentation-list"
|
|
@@ -60,7 +63,7 @@ class RuleGroup(models.Model):
|
|
|
60
63
|
return "{{name}}"
|
|
61
64
|
|
|
62
65
|
|
|
63
|
-
class RuleCheckedObjectRelationship(ComplexToStringMixin
|
|
66
|
+
class RuleCheckedObjectRelationship(ComplexToStringMixin):
|
|
64
67
|
rule = models.ForeignKey(
|
|
65
68
|
to="wbcompliance.RiskRule", related_name="checked_object_relationships", on_delete=models.CASCADE
|
|
66
69
|
)
|
|
@@ -261,7 +264,7 @@ class RuleBackend(models.Model):
|
|
|
261
264
|
return "{{name}}"
|
|
262
265
|
|
|
263
266
|
|
|
264
|
-
class RuleThreshold(ComplexToStringMixin
|
|
267
|
+
class RuleThreshold(ComplexToStringMixin):
|
|
265
268
|
"""
|
|
266
269
|
Represent the list of threshold and its associated severity link to a certain rule
|
|
267
270
|
"""
|
|
@@ -447,7 +450,7 @@ class RiskRule(PermissionObjectModelMixin, WBModel):
|
|
|
447
450
|
def checked_object_representation(self) -> str:
|
|
448
451
|
try:
|
|
449
452
|
backend_class = self.rule_backend.backend_class
|
|
450
|
-
checked_object_repr =
|
|
453
|
+
checked_object_repr = backend_class.OBJECT_FIELD_NAME.title()
|
|
451
454
|
except AttributeError:
|
|
452
455
|
checked_object_repr = "Object"
|
|
453
456
|
return checked_object_repr
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
from collections import defaultdict
|
|
2
2
|
|
|
3
|
-
from django.db.models.signals import
|
|
3
|
+
from django.db.models.signals import (
|
|
4
|
+
post_delete,
|
|
5
|
+
post_init,
|
|
6
|
+
post_migrate,
|
|
7
|
+
post_save,
|
|
8
|
+
pre_delete,
|
|
9
|
+
pre_init,
|
|
10
|
+
pre_migrate,
|
|
11
|
+
pre_save,
|
|
12
|
+
)
|
|
4
13
|
|
|
5
14
|
|
|
6
15
|
class DisableSignals(object):
|
|
@@ -50,7 +59,7 @@ class DisableSignals(object):
|
|
|
50
59
|
# self.disconnect(signal)
|
|
51
60
|
|
|
52
61
|
|
|
53
|
-
class
|
|
62
|
+
class TempDisconnectSignal:
|
|
54
63
|
"""Temporarily disconnect a model from a signal"""
|
|
55
64
|
|
|
56
65
|
def __init__(self, signal, receiver, sender, dispatch_uid=None):
|
|
@@ -72,11 +81,3 @@ class temp_disconnect_signal:
|
|
|
72
81
|
sender=self.sender,
|
|
73
82
|
dispatch_uid=self.dispatch_uid,
|
|
74
83
|
)
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
class DisableSignalsNotification(temp_disconnect_signal):
|
|
78
|
-
def __init__(self, dispatch_uid=None):
|
|
79
|
-
self.signal = post_save
|
|
80
|
-
self.receiver = post_create_notification
|
|
81
|
-
self.sender = Notification
|
|
82
|
-
self.dispatch_uid = dispatch_uid
|
|
@@ -342,7 +342,7 @@ class TestSpecificViewsets(UserTestMixin):
|
|
|
342
342
|
assert response.data.get("results")
|
|
343
343
|
|
|
344
344
|
@pytest.mark.parametrize("mvs", [ComplianceTaskMatrixPandasViewSet])
|
|
345
|
-
def
|
|
345
|
+
def test_pandasapiview(self, mvs, compliance_task_factory, compliance_task_instance_factory):
|
|
346
346
|
request = APIRequestFactory().get("")
|
|
347
347
|
request.user = get_or_create_superuser()
|
|
348
348
|
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/buttons/compliance_task.py
RENAMED
|
@@ -22,12 +22,12 @@ def get_custom_report(_request, review: ReviewComplianceTask):
|
|
|
22
22
|
try:
|
|
23
23
|
content_type = ContentType.objects.get(app_label="wbcompliance", model="reviewcompliancetask")
|
|
24
24
|
ReportVersion = apps.get_model("wbreport", "ReportVersion")
|
|
25
|
-
|
|
25
|
+
buttons = []
|
|
26
26
|
versions = ReportVersion.objects.filter(
|
|
27
27
|
version_date=review.to_date, report__content_type=content_type, report__is_active=True
|
|
28
28
|
).filter(Q(parameters__type=review.type.name) | Q(parameters__type=review.type.id))
|
|
29
29
|
for version in versions:
|
|
30
|
-
|
|
30
|
+
buttons.append(
|
|
31
31
|
bt.HyperlinkButton(
|
|
32
32
|
endpoint=reverse("report:reportversion-html", args=[version.id], request=_request),
|
|
33
33
|
label=_("Show {}").format(version.title),
|
|
@@ -35,7 +35,7 @@ def get_custom_report(_request, review: ReviewComplianceTask):
|
|
|
35
35
|
)
|
|
36
36
|
)
|
|
37
37
|
if not version.lock:
|
|
38
|
-
|
|
38
|
+
buttons.append(
|
|
39
39
|
bt.ActionButton(
|
|
40
40
|
method=RequestType.GET,
|
|
41
41
|
identifiers=("wbreport:reportversion",),
|
|
@@ -51,12 +51,12 @@ def get_custom_report(_request, review: ReviewComplianceTask):
|
|
|
51
51
|
title=_("Update {}").format(version.title),
|
|
52
52
|
),
|
|
53
53
|
)
|
|
54
|
-
if
|
|
54
|
+
if buttons:
|
|
55
55
|
return {
|
|
56
56
|
bt.DropDownButton(
|
|
57
57
|
label=_("Report"),
|
|
58
58
|
icon=WBIcon.UNFOLD.icon,
|
|
59
|
-
buttons=tuple(
|
|
59
|
+
buttons=tuple(buttons),
|
|
60
60
|
),
|
|
61
61
|
}
|
|
62
62
|
except LookupError:
|
|
@@ -70,11 +70,11 @@ class ComplianceTaskButtonConfig(ButtonViewConfig):
|
|
|
70
70
|
class OccuredSerializer(wb_serializers.Serializer):
|
|
71
71
|
occured = wb_serializers.DateField(required=True)
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
buttons = []
|
|
74
74
|
if self.view.kwargs.get("pk", None) and self.request.user.is_superuser:
|
|
75
75
|
review = self.view.get_object()
|
|
76
76
|
if review.active:
|
|
77
|
-
|
|
77
|
+
buttons += [
|
|
78
78
|
bt.ActionButton(
|
|
79
79
|
method=RequestType.PATCH,
|
|
80
80
|
identifiers=("wbcompliance:compliancetask",),
|
|
@@ -87,7 +87,7 @@ class ComplianceTaskButtonConfig(ButtonViewConfig):
|
|
|
87
87
|
instance_display=create_simple_display([["occured"]]),
|
|
88
88
|
)
|
|
89
89
|
]
|
|
90
|
-
return {*
|
|
90
|
+
return {*buttons}
|
|
91
91
|
|
|
92
92
|
|
|
93
93
|
class ReviewComplianceTaskButtonConfig(ButtonViewConfig):
|
|
@@ -100,17 +100,17 @@ class ReviewComplianceTaskButtonConfig(ButtonViewConfig):
|
|
|
100
100
|
choices=[("ADD", "Add existing indicators"), ("REMOVE", "Remove existing Indicators")],
|
|
101
101
|
)
|
|
102
102
|
|
|
103
|
-
|
|
103
|
+
buttons = []
|
|
104
104
|
if self.view.kwargs.get("pk", None) and self.request.user.has_perm("wbcompliance.administrate_compliance"):
|
|
105
105
|
review = self.view.get_object()
|
|
106
106
|
if review.is_instance:
|
|
107
|
-
|
|
107
|
+
buttons = get_custom_report(_request=self.request, review=review)
|
|
108
108
|
else:
|
|
109
109
|
if review.status == ReviewComplianceTask.Status.VALIDATED:
|
|
110
|
-
|
|
110
|
+
buttons += [AbstractComplianceDocumentButtonConfig._get_compliance_document_button()]
|
|
111
111
|
|
|
112
112
|
if self.request.user.has_perm("wbcompliance.administrate_compliance"):
|
|
113
|
-
|
|
113
|
+
buttons += [
|
|
114
114
|
bt.ActionButton(
|
|
115
115
|
method=RequestType.PATCH,
|
|
116
116
|
identifiers=("wbcompliance:reviewcompliancetask",),
|
|
@@ -125,7 +125,7 @@ class ReviewComplianceTaskButtonConfig(ButtonViewConfig):
|
|
|
125
125
|
]
|
|
126
126
|
|
|
127
127
|
if review.status == ReviewComplianceTask.Status.DRAFT and self.request.user.is_superuser:
|
|
128
|
-
|
|
128
|
+
buttons += [
|
|
129
129
|
bt.ActionButton(
|
|
130
130
|
method=RequestType.PATCH,
|
|
131
131
|
identifiers=("wbcompliance:reviewcompliancetask",),
|
|
@@ -147,4 +147,4 @@ class ReviewComplianceTaskButtonConfig(ButtonViewConfig):
|
|
|
147
147
|
),
|
|
148
148
|
]
|
|
149
149
|
|
|
150
|
-
return {*
|
|
150
|
+
return {*buttons}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/factories/risk_management/__init__.py
RENAMED
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/factories/risk_management/backends.py
RENAMED
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/factories/risk_management/checks.py
RENAMED
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/factories/risk_management/incidents.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/filters/risk_management/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/filters/risk_management/incidents.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/migrations/0015_auto_20240103_0957.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/migrations/0021_riskcheck_passive_check.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/serializers/risk_management/__init__.py
RENAMED
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/serializers/risk_management/checks.py
RENAMED
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/serializers/risk_management/incidents.py
RENAMED
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/serializers/risk_management/rules.py
RENAMED
|
File without changes
|
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/templates/compliance/compliance_form.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/tests/risk_management/models/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/tests/risk_management/models/test_checks.py
RENAMED
|
File without changes
|
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/tests/risk_management/models/test_rules.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/buttons/compliance_form.py
RENAMED
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/buttons/risk_managment/__init__.py
RENAMED
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/buttons/risk_managment/checks.py
RENAMED
|
File without changes
|
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/buttons/risk_managment/rules.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/display/compliance_form.py
RENAMED
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/display/compliance_task.py
RENAMED
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/display/compliance_type.py
RENAMED
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/display/risk_managment/__init__.py
RENAMED
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/display/risk_managment/checks.py
RENAMED
|
File without changes
|
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/display/risk_managment/rules.py
RENAMED
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/display/risk_managment/tables.py
RENAMED
|
File without changes
|
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/endpoints/compliance_form.py
RENAMED
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/endpoints/compliance_task.py
RENAMED
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/endpoints/compliance_type.py
RENAMED
|
File without changes
|
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/endpoints/risk_managment/checks.py
RENAMED
|
File without changes
|
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/endpoints/risk_managment/rules.py
RENAMED
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/endpoints/risk_managment/tables.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/risk_management/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/risk_management/incidents.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/titles/risk_managment/__init__.py
RENAMED
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/titles/risk_managment/checks.py
RENAMED
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/titles/risk_managment/incidents.py
RENAMED
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/titles/risk_managment/rules.py
RENAMED
|
File without changes
|
{wbcompliance-1.55.9 → wbcompliance-1.56.0}/wbcompliance/viewsets/titles/risk_managment/tables.py
RENAMED
|
File without changes
|