Skip to content

Commit 4de0f60

Browse files
extract product grading method call
1 parent b3a18e3 commit 4de0f60

3 files changed

Lines changed: 12 additions & 19 deletions

File tree

dojo/importers/base_importer.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
Endpoint,
2525
FileUpload,
2626
Finding,
27+
System_Settings,
2728
Test,
2829
Test_Import,
2930
Test_Import_Finding_Action,
@@ -33,7 +34,7 @@
3334
from dojo.notifications.helper import create_notification
3435
from dojo.tools.factory import get_parser
3536
from dojo.tools.parser_test import ParserTest
36-
from dojo.utils import max_safe
37+
from dojo.utils import calculate_grade, max_safe
3738

3839
logger = logging.getLogger(__name__)
3940

@@ -811,3 +812,9 @@ def notify_scan_added(
811812
url=reverse("view_test", args=(test.id,)),
812813
url_api=reverse("test-detail", args=(test.id,)),
813814
)
815+
816+
def perform_product_grading(self):
817+
product = self.test.engagement.product
818+
system_settings = System_Settings.objects.get()
819+
if system_settings.enable_product_grade:
820+
calculate_grade(product)

dojo/importers/default_importer.py

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
Test_Import,
2121
)
2222
from dojo.notifications.helper import create_notification
23-
from dojo.utils import calculate_grade
2423
from dojo.validators import clean_tags
2524

2625
logger = logging.getLogger(__name__)
@@ -298,10 +297,7 @@ def process_findings(
298297
# Note: All chord batching is now handled within the loop above
299298

300299
# Always perform an initial grading, even though it might get overwritten later.
301-
product = self.test.engagement.product
302-
system_settings = System_Settings.objects.get()
303-
if system_settings.enable_product_grade:
304-
calculate_grade(product)
300+
self.perform_product_grading()
305301

306302
sync = kwargs.get("sync", True)
307303
if not sync:
@@ -389,10 +385,7 @@ def close_old_findings(
389385

390386
# Calculate grade once after all findings have been closed
391387
if old_findings:
392-
product = self.test.engagement.product
393-
system_settings = System_Settings.objects.get()
394-
if system_settings.enable_product_grade:
395-
calculate_grade(product)
388+
self.perform_product_grading()
396389

397390
return old_findings
398391

dojo/importers/default_reimporter.py

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
Test,
2020
Test_Import,
2121
)
22-
from dojo.utils import calculate_grade
2322
from dojo.validators import clean_tags
2423

2524
logger = logging.getLogger(__name__)
@@ -312,10 +311,7 @@ def process_findings(
312311
# Note: All chord batching is now handled within the loop above
313312

314313
# Synchronous tasks were already executed during processing, just calculate grade
315-
product = self.test.engagement.product
316-
system_settings = System_Settings.objects.get()
317-
if system_settings.enable_product_grade:
318-
calculate_grade(product)
314+
self.perform_product_grading()
319315

320316
# Process the results and return them back
321317
return self.process_results(**kwargs)
@@ -361,10 +357,7 @@ def close_old_findings(
361357

362358
# Calculate grade once after all findings have been closed
363359
if mitigated_findings:
364-
product = self.test.engagement.product
365-
system_settings = System_Settings.objects.get()
366-
if system_settings.enable_product_grade:
367-
calculate_grade(product)
360+
self.perform_product_grading()
368361

369362
return mitigated_findings
370363

0 commit comments

Comments
 (0)