Add support for retriving incidents within set time period
This commit is contained in:
@@ -19,6 +19,15 @@ class StatusBoard_Incident extends StatusBoard_DatabaseObject {
|
||||
return static::all_for('site', $site->id, 'incident_open');
|
||||
}
|
||||
|
||||
public static function open_for_site_during(StatusBoard_Site $site, $start, $end) {
|
||||
$params = array(
|
||||
array('name' => 'start', 'value' => $start, 'type' => PDO::PARAM_INT),
|
||||
array('name' => 'end', 'value' => $end, 'type' => PDO::PARAM_INT),
|
||||
);
|
||||
|
||||
return static::all_for('site', $site->id, 'incident_opentimes', '`start_time` < :end AND `ctime` > :start', $params);
|
||||
}
|
||||
|
||||
public function currentStatus($ignore_cache = false) {
|
||||
if ($this->current_status === null || $ignore_cache) {
|
||||
$database = StatusBoard_Main::instance()->database();
|
||||
|
||||
@@ -24,6 +24,10 @@ class StatusBoard_Site extends StatusBoard_DatabaseObject {
|
||||
return $this->incidents_open;
|
||||
}
|
||||
|
||||
public function openIncidentsDuring($start, $end) {
|
||||
return StatusBoard_Incident::open_for_site_during($this, $start, $end);
|
||||
}
|
||||
|
||||
public function status() {
|
||||
return StatusBoard_Incident::highestSeverityStatus($this->openIncidents());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user