@@ -180,6 +180,27 @@ class System_Settings(models.Model):
180180 verbose_name = "Engagement Auto-Close Days" ,
181181 help_text = "Closes an engagement after the specified number of days past due date including last update." )
182182
183+ enable_finding_sla = models .BooleanField (
184+ default = True ,
185+ blank = False ,
186+ verbose_name = "Enable Finding SLA's" ,
187+ help_text = "Enables Finding SLA's for time to remediate." )
188+
189+ sla_critical = models .IntegerField (default = 7 ,
190+ verbose_name = "Crital Finding SLA Days" ,
191+ help_text = "# of days to remediate a critical finding." )
192+
193+ sla_high = models .IntegerField (default = 30 ,
194+ verbose_name = "High Finding SLA Days" ,
195+ help_text = "# of days to remediate a high finding." )
196+ sla_medium = models .IntegerField (default = 90 ,
197+ verbose_name = "Medium Finding SLA Days" ,
198+ help_text = "# of days to remediate a medium finding." )
199+
200+ sla_low = models .IntegerField (default = 120 ,
201+ verbose_name = "Low Finding SLA Days" ,
202+ help_text = "# of days to remediate a low finding." )
203+
183204
184205class SystemSettingsFormAdmin (forms .ModelForm ):
185206 product_grade = forms .CharField (widget = forms .Textarea )
@@ -1064,6 +1085,12 @@ def age(self):
10641085
10651086 return days if days > 0 else 0
10661087
1088+ def sla (self ):
1089+ severity = self .severity
1090+ from dojo .utils import get_system_setting
1091+ sla_age = get_system_setting ('sla_' + self .severity .lower ())
1092+ return sla_age - self .age ()
1093+
10671094 def jira (self ):
10681095 try :
10691096 jissue = JIRA_Issue .objects .get (finding = self )
@@ -1675,9 +1702,6 @@ def __unicode__(self):
16751702
16761703 return name
16771704
1678- class Meta :
1679- unique_together = [('product' , 'path' )]
1680-
16811705
16821706class Objects_Engagement (models .Model ):
16831707 engagement = models .ForeignKey (Engagement )
@@ -1895,6 +1919,7 @@ class FieldRule(models.Model):
18951919 update_type = models .CharField (max_length = 30 , choices = update_options )
18961920 text = models .CharField (max_length = 200 )
18971921
1922+
18981923# Register for automatic logging to database
18991924auditlog .register (Dojo_User )
19001925auditlog .register (Endpoint )
0 commit comments