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,6 +36,7 @@ class StatusBoard_Main extends SihnonFramework_Main {
$this->smarty->registerPlugin('modifier', 'formatDuration', array('StatusBoard_Main', 'formatDuration')); $this->smarty->registerPlugin('modifier', 'formatDuration', array('StatusBoard_Main', 'formatDuration'));
$this->smarty->registerPlugin('modifier', 'formatFilesize', array('StatusBoard_Main', 'formatFilesize')); $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', '0.1.0');
$this->smarty->assign('version_codename', 'Acai'); $this->smarty->assign('version_codename', 'Acai');

View File

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

View File

@@ -1,21 +1,59 @@
<div class="container"> <div class="container">
<div class="row"> <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> <h1>Site Status History: {$service->name|escape:html} - {$site->name|escape:html}</h1>
<p>This page details the incident history for a site</p> <p>This page details the incident history for a site</p>
{foreach from=array(0,1,2,3,4,5,6) item=day} {if $start && $end}
{if $day == 0} {$incidentsDuring=$site->openIncidentsDuring($start, $end)}
<div class="row" name="edit service"> {$incidentCount=count($incidentsDuring)}
<div class="span4 column"><!--New description--> <h2>{$start|date_format:'d-M H:i'} to {$end|date_format:'d-M H:i'}</h2>
<h3 class="status">Today {mktime(0,0,0,date("n"),date("j"))|date_format:"d M Y"}</h3> {foreach from=$incidentsDuring item=incident}
<p>x incidents</p> {$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>
<div class="span12 column"> <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)} {$start=mktime(0,0,0,date("n"),date("j")-$day)}
{$end=mktime(0,0,0,date("n"),date("j")-$day+1)} {$end=mktime(0,0,0,date("n"),date("j")-$day+1)}
{$incidentsDuring=$site->openIncidentsDuring($start, $end)} {$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} {if $incidentsDuring}
<table class="bordered-table" name="sites_list_table"><!--Services table --> <table class="bordered-table"><!--Services table -->
<thead> <thead>
<th>Incident</th> <th>Incident</th>
<th>Description</th> <th>Description</th>
@@ -30,7 +68,8 @@
<td>{$incident->description|truncate|escape:html}</td> <td>{$incident->description|truncate|escape:html}</td>
<td>{date('d-M H:i', $incident->start_time)}</td> <td>{date('d-M H:i', $incident->start_time)}</td>
<td>{StatusBoard_Status::name($incident->currentStatus())}</td> <td>{StatusBoard_Status::name($incident->currentStatus())}</td>
<td>{if $incident->actual_end_time} <td>
{if $incident->actual_end_time}
{date('d-M H:i', $incident->actual_end_time)} {date('d-M H:i', $incident->actual_end_time)}
{else} {else}
Still Open Still Open
@@ -38,55 +77,15 @@
</td> </td>
</tr> </tr>
{/foreach} {/foreach}
{else}
<h4>There were no recorded incidents on this day</h4>
{/if}
</tbody> </tbody>
</table><!--/name table --> </table><!--/name table -->
</div>
</div>
{else} {else}
<div class="row" name="edit service"> <p>There were no recorded incidents on this day</p>
<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>
</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} {/if}
</tr> </div>
</div>
{/foreach} {/foreach}
{else}
<h4>There were no recorded incidents on this day</h4>
{/if} {/if}
</tbody>
</table><!--/name table -->
</div>
</div>
{/if}
{/foreach}
</div> </div>
</div> </div>
</div> </div>