diff --git a/source/lib/StatusBoard/Incident.class.php b/source/lib/StatusBoard/Incident.class.php index 5010116..fceb849 100644 --- a/source/lib/StatusBoard/Incident.class.php +++ b/source/lib/StatusBoard/Incident.class.php @@ -13,6 +13,7 @@ class StatusBoard_Incident extends StatusBoard_DatabaseObject { protected $_db_actual_end_time; protected $current_status = null; + protected $statuses = null; public static function open_for_site(StatusBoard_Site $site) { return static::all_for('site', $site->id, 'incident_open'); @@ -54,6 +55,14 @@ class StatusBoard_Incident extends StatusBoard_DatabaseObject { return $status; } + public function statusChanges($ignore_cache = false) { + if ($this->statuses === null || $ignore_cache) { + $this->statuses = StatusBoard_IncidentStatus::all_for('incident', $this->id); + } + + return $this->statuses; + } + } ?> \ No newline at end of file diff --git a/source/lib/StatusBoard/IncidentStatus.class.php b/source/lib/StatusBoard/IncidentStatus.class.php index ba32a91..6b1e590 100644 --- a/source/lib/StatusBoard/IncidentStatus.class.php +++ b/source/lib/StatusBoard/IncidentStatus.class.php @@ -9,6 +9,9 @@ class StatusBoard_IncidentStatus extends StatusBoard_DatabaseObject { protected $_db_status; protected $_db_ctime; + protected function all_for_incident(StatusBoard_Incident $incident) { + return static::all_for('incident', $incident->id); + } } ?> \ No newline at end of file diff --git a/source/lib/StatusBoard/Status.class.php b/source/lib/StatusBoard/Status.class.php index e778191..461ecfd 100644 --- a/source/lib/StatusBoard/Status.class.php +++ b/source/lib/StatusBoard/Status.class.php @@ -23,6 +23,16 @@ class StatusBoard_Status { self::STATUS_Significant => 'The service is exeriencing significant issues affecting many customers.', self::STATUS_Major => 'The service is exeriencing a major outage affecting all customers.', ); + + public function available() { + return array( + self::STATUS_Resolved, + self::STATUS_Maintenance, + self::STATUS_Minor, + self::STATUS_Significant, + self::STATUS_Major, + ); + } public static function name($status) { if ( ! StatusBoard_Main::isClassConstantValue(get_called_class(), 'STATUS_', $status)) {