From a558dbda3118327e5b9484bcfd9544fc27eecb8a Mon Sep 17 00:00:00 2001 From: Ben Roberts Date: Sat, 31 Dec 2011 16:37:34 +0000 Subject: [PATCH] Backdate IncidentStatus when an Incident is created retrospectively --- source/lib/StatusBoard/Incident.class.php | 6 +++--- source/lib/StatusBoard/IncidentStatus.class.php | 8 ++++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/source/lib/StatusBoard/Incident.class.php b/source/lib/StatusBoard/Incident.class.php index c32ab05..e7fb4d8 100644 --- a/source/lib/StatusBoard/Incident.class.php +++ b/source/lib/StatusBoard/Incident.class.php @@ -25,7 +25,7 @@ class StatusBoard_Incident extends StatusBoard_DatabaseObject { $new_incident->actual_end_time = null; $new_incident->create(); - $new_incident->changeStatus($status, 'Initial Classification'); + $new_incident->changeStatus($status, 'Initial Classification', $start_time); return $new_incident; } @@ -159,12 +159,12 @@ class StatusBoard_Incident extends StatusBoard_DatabaseObject { return $this->statuses; } - public function changeStatus($status, $description) { + public function changeStatus($status, $description, $start_time = null) { if ($this->statuses === null) { $this->statuses = StatusBoard_IncidentStatus::allFor('incident', $this->id); } - $new_status = StatusBoard_IncidentStatus::newForIncident($this, $status, $description); + $new_status = StatusBoard_IncidentStatus::newForIncident($this, $status, $description, $start_time); $this->statuses[] = $new_status; return $new_status; diff --git a/source/lib/StatusBoard/IncidentStatus.class.php b/source/lib/StatusBoard/IncidentStatus.class.php index a95072c..f7ecf0b 100644 --- a/source/lib/StatusBoard/IncidentStatus.class.php +++ b/source/lib/StatusBoard/IncidentStatus.class.php @@ -14,12 +14,16 @@ class StatusBoard_IncidentStatus extends StatusBoard_DatabaseObject { return static::all_for('incident', $incident->id); } - public function newForIncident(StatusBoard_Incident $incident, $status, $description) { + public function newForIncident(StatusBoard_Incident $incident, $status, $description, $ctime = null) { + if ($ctime === null) { + $ctime = time(); + } + $new_status = new self(); $new_status->incident = $incident->id; $new_status->status = $status; $new_status->description = $description; - $new_status->ctime = time(); + $new_status->ctime = $ctime; $new_status->create();