Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions treeherder/perf/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -389,7 +389,7 @@ def save(self, *args, update_fields=None, **kwargs):
update_fields = {"triage_due_date"}.union(update_fields)

bug_due = calculate_time_to(self.created, BUG_DAYS)
if self.bug_due_date != bug_due:
if self.bug_due_date is None or self.bug_due_date < bug_due:
self.bug_due_date = bug_due

if update_fields is not None:
Expand Down Expand Up @@ -663,6 +663,7 @@ class PerformanceAlert(PerformanceAlertBase):
def save(self, *args, **kwargs):
# validate that we set a status that makes sense for presence
# or absence of a related summary
was_created = self._state.adding
if self.related_summary and self.status not in self.RELATIONAL_STATUS_IDS:
raise ValidationError(
"Related summary set but status not in '{}'!".format(
Expand Down Expand Up @@ -691,7 +692,11 @@ def save(self, *args, **kwargs):
super().save(*args, **kwargs)

# check to see if we need to update the summary statuses

if was_created:
new_due = calculate_time_to(self.created, BUG_DAYS)
if self.summary.bug_due_date is None or self.summary.bug_due_date < new_due:
self.summary.bug_due_date = new_due
self.summary.save(update_fields={"bug_due_date"})
# just forward the explicit database
# so the summary properly updates there
using = kwargs.get("using", None)
Expand Down