Backdate IncidentStatus when an Incident is created retrospectively

This commit is contained in:
2011-12-31 16:37:34 +00:00
parent b50d5e50dc
commit a558dbda31
2 changed files with 9 additions and 5 deletions

View File

@@ -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;

View File

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