Add admin UI/Backend for adding a new Incident

This commit is contained in:
2011-12-21 13:06:06 +00:00
parent c7e11fd273
commit 10001c5012
4 changed files with 102 additions and 5 deletions

View File

@@ -14,6 +14,21 @@ class StatusBoard_Incident extends StatusBoard_DatabaseObject {
protected $current_status = null;
protected $statuses = null;
public static function newForSite(StatusBoard_Site $site, $reference, $description, $status, $start_time, $estimated_end_time) {
$new_incident = new self();
$new_incident->site = $site->id;
$new_incident->reference = $reference;
$new_incident->description = $description;
$new_incident->start_time = $start_time;
$new_incident->estimated_end_time = $estimated_end_time;
$new_incident->actual_end_time = null;
$new_incident->create();
$new_incident->changeStatus($status, 'Initial Classification');
return $new-incident;
}
public static function openForSite(StatusBoard_Site $site) {
return static::allFor('site', $site->id, 'incident_open');

View File

@@ -27,6 +27,10 @@ class StatusBoard_Site extends StatusBoard_DatabaseObject {
return $new_service;
}
public function newIncident($reference, $description, $status, $start_time, $estimated_end_time) {
return StatusBoard_Incident::newForSite($this, $reference, $description, $status, $start_time, $estimated_end_time);
}
public function openIncidents($ignore_cache = false) {
if ($this->incidents_open === null || $ignore_cache) {
$this->incidents_open = StatusBoard_Incident::openForSite($this);