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();