Update to the status page, displays details for a fixed time period

This commit is contained in:
2011-12-22 11:20:23 +00:00
parent 51617a7acf
commit c0791a4166
3 changed files with 95 additions and 86 deletions

View File

@@ -36,7 +36,8 @@ class StatusBoard_Main extends SihnonFramework_Main {
$this->smarty->registerPlugin('modifier', 'formatDuration', array('StatusBoard_Main', 'formatDuration'));
$this->smarty->registerPlugin('modifier', 'formatFilesize', array('StatusBoard_Main', 'formatFilesize'));
$this->smarty->registerPlugin('modifier', 'fuzzyTime', array('StatusBoard_DateTime', 'fuzzyTime'));
$this->smarty->assign('version', '0.1.0');
$this->smarty->assign('version_codename', 'Acai');
$this->smarty->assign('messages', array());

View File

@@ -1,8 +1,12 @@
<?php
$main = StatusBoard_Main::instance();
$request = $main->request();
$service_id = $request->get('service', 'Sihnon_Exception_InvalidParameters');
$site_id = $request->get('id', 'Sihnon_Exception_InvalidParameters');
$site_id = $request->get('id', 'Sihnon_Exception_InvalidParameters');
$start = $request->get('start');
$end = $request->get('end');
$service = null;
$site = null;
@@ -13,7 +17,12 @@ try {
} catch (Sihnon_Exception_ResultCountMismatch $e) {
throw new StatusBoard_Exception_FileNotFound();
}
$services = StatusBoard_Service::all();
$this->smarty->assign('service', $service);
$this->smarty->assign('site', $site);
$this->smarty->assign('start', $start);
$this->smarty->assign('end', $end);
?>

View File

@@ -1,92 +1,91 @@
<div class="container">
<div class="row">
<div class="span16" name="name"><!--name content container -->
<div class="span16"><!--name content container -->
<h1>Site Status History: {$service->name|escape:html} - {$site->name|escape:html}</h1>
<p>This page details the incident history for a site</p>
{foreach from=array(0,1,2,3,4,5,6) item=day}
{if $day == 0}
<div class="row" name="edit service">
<div class="span4 column"><!--New description-->
<h3 class="status">Today {mktime(0,0,0,date("n"),date("j"))|date_format:"d M Y"}</h3>
<p>x incidents</p>
</div>
<div class="span12 column">
{$start=mktime(0,0,0,date("n"),date("j")-$day)}
{$end=mktime(0,0,0,date("n"),date("j")-$day+1)}
{$incidentsDuring=$site->openIncidentsDuring($start, $end)}
{if $incidentsDuring}
<table class="bordered-table" name="sites_list_table"><!--Services table -->
<thead>
<th>Incident</th>
<th>Description</th>
<th>Time Opened</th>
<th>Status</th>
<th>Time Closed</th>
</thead>
<tbody>
{foreach from=$incidentsDuring item=incident}
<tr>
<td>{$incident->reference|escape:html}</td>
<td>{$incident->description|truncate|escape:html}</td>
<td>{date('d-M H:i', $incident->start_time)}</td>
<td>{StatusBoard_Status::name($incident->currentStatus())}</td>
<td>{if $incident->actual_end_time}
{date('d-M H:i', $incident->actual_end_time)}
{else}
Still Open
{/if}
</td>
</tr>
{/foreach}
{else}
<h4>There were no recorded incidents on this day</h4>
{/if}
</tbody>
</table><!--/name table -->
</div>
</div>
{else}
<div class="row" name="edit service">
<div class="span4 column"><!--New description-->
<h3 class="status">{mktime(0,0,0,date("n"),date("j")-$day)|date_format:"d M Y"}</h3>
<p>x incidents</p>
{if $start && $end}
{$incidentsDuring=$site->openIncidentsDuring($start, $end)}
{$incidentCount=count($incidentsDuring)}
<h2>{$start|date_format:'d-M H:i'} to {$end|date_format:'d-M H:i'}</h2>
{foreach from=$incidentsDuring item=incident}
{$statuses=$incident->statusChanges()}
<div class="row">
<div class="span4 column">
<h3 class="status">{$incident->reference|escape:html}</h3>
<p>Opened: {$incident->start_time|date:"r"}<p>
{if $incident->estimated_end_time}
{$time_difference=time()-$incident->estimated_end_time}
<p>Estimated End Time: {$time_difference|fuzzyTime}</p>
{/if}
</div>
<div class="span12 column">
{$start=mktime(0,0,0,date("n"),date("j")-$day)}
{$end=mktime(0,0,0,date("n"),date("j")-$day+1)}
{$incidentsDuring=$site->openIncidentsDuring($start, $end)}
{if $incidentsDuring}
<table class="bordered-table" name="sites_list_table"><!--Services table -->
<thead>
<th>Incident</th>
<th>Description</th>
<th>Time Opened</th>
<th>Status</th>
<th>Time Closed</th>
</thead>
<tbody>
{foreach from=$incidentsDuring item=incident}
<tr>
<td>{$incident->reference|escape:html}</td>
<td>{$incident->description|truncate|escape:html}</td>
<td>{date('d-M H:i', $incident->start_time)}</td>
<td>{StatusBoard_Status::name($incident->currentStatus())}</td>
<td>{if $incident->actual_end_time}
{date('d-M H:i', $incident->actual_end_time)}
{else}
Still Open
{/if}
</tr>
{/foreach}
{else}
<h4>There were no recorded incidents on this day</h4>
{/if}
</tbody>
</table><!--/name table -->
</div>
</div>
{/if}
{/foreach}
<div class="span12 column">
<table class="bordered-table">
<thead>
<th>Status</th>
<th>Time</th>
<th>Description</th>
</thead>
<tbody>
{foreach from=$statuses item=status}
<tr>
<td>{$status->status|escape:html}</td>
<td>{$status->ctime|date_format:'d-M H:i'}</td>
<td>{$status->description|escape:html}</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
</div>
{foreachelse}
<p>There were no recorded incidents during this time period.</p>
{/foreach}
{else}
{foreach from=array(0,1,2,3,4,5,6) item=day}
{$start=mktime(0,0,0,date("n"),date("j")-$day)}
{$end=mktime(0,0,0,date("n"),date("j")-$day+1)}
{$incidentsDuring=$site->openIncidentsDuring($start, $end)}
{$incidentCount=count($incidentsDuring)}
<div class="row">
<div class="span4 column"><!--New description-->
<h3 class="status">{if $day == 0}Today {/if}{$start|date_format:"d M Y"}</h3>
<p>{$incidentCount} {StatusBoard_Formatting::pluralise('incident','incidents',$incidentCount)}</p>
</div>
<div class="span12 column">
{if $incidentsDuring}
<table class="bordered-table"><!--Services table -->
<thead>
<th>Incident</th>
<th>Description</th>
<th>Time Opened</th>
<th>Status</th>
<th>Time Closed</th>
</thead>
<tbody>
{foreach from=$incidentsDuring item=incident}
<tr>
<td>{$incident->reference|escape:html}</td>
<td>{$incident->description|truncate|escape:html}</td>
<td>{date('d-M H:i', $incident->start_time)}</td>
<td>{StatusBoard_Status::name($incident->currentStatus())}</td>
<td>
{if $incident->actual_end_time}
{date('d-M H:i', $incident->actual_end_time)}
{else}
Still Open
{/if}
</td>
</tr>
{/foreach}
</tbody>
</table><!--/name table -->
{else}
<p>There were no recorded incidents on this day</p>
{/if}
</div>
</div>
{/foreach}
{/if}
</div>
</div>
</div>