HAI Site |
<html xmlns:py="http://genshi.edgewall.org/" |
|
xmlns:i18n="http://genshi.edgewall.org/i18n" |
|
xmlns:xi="http://www.w3.org/2001/XInclude" |
|
py:strip=""> |
|
|
|
<py:def function="page_title">Site analytics</py:def> |
|
|
|
<py:match path="primarysidebar"> |
|
<li class="widget-container boxed widget_text"> |
|
<h4>Statistics</h4> |
|
<p>It is possible to <a href="${h.url_for(controller='ckanext.ga_report.controller:GaReport',action='csv',month=c.month)}">export the analytics data</a> as a CSV file, which contains all of the information for ${c.month_desc}</p> |
|
|
|
</li> |
|
</py:match> |
|
|
|
<div py:match="content"> |
|
<h1>Site statistics</h1> |
|
|
|
<form class="form-inline" action="${h.url_for(controller='ckanext.ga_report.controller:GaReport',action='index')}" method="get"> |
|
<div class="controls"> |
|
<select name="month"> |
|
<py:for each="val,desc in c.months"> |
|
<option value='${val}' py:attrs="{'selected': 'selected' if c.month == val else None}">${desc}</option> |
|
</py:for> |
|
</select> |
|
<input class="btn button" type='submit' value="Update"/> |
|
</div> |
|
</form> |
|
|
|
<div class="tabbable"> |
|
<ul class="nav nav-tabs"> |
|
<li class="active"><a href="#totals" data-toggle="tab">Totals</a></li> |
|
<li><a href="#browsers" data-toggle="tab">Browsers</a></li> |
|
<li><a href="#os" data-toggle="tab">Operating Systems</a></li> |
|
<li><a href="#social_networks" data-toggle="tab">Social Networks</a></li> |
|
<li><a href="#languages" data-toggle="tab">Languages</a></li> |
|
<li><a href="#country" data-toggle="tab">Country</a></li> |
|
</ul> |
|
<div class="tab-content"> |
|
<div class="tab-pane active" id="totals"> |
|
<table class="table table-condensed table-bordered table-striped"> |
|
<tr> |
|
<th>Name</th> |
|
<th>Value</th> |
|
</tr> |
|
<py:for each="name, value in c.global_totals"> |
|
<tr> |
|
<td>${name}</td> |
|
<td>${value}</td> |
|
</tr> |
|
</py:for> |
|
</table> |
|
|
|
<p>* Values are rounded up to 2 decimal places.</p> |
|
</div> |
|
<div class="tab-pane" id="browsers"> |
|
<table class="table table-condensed table-bordered table-striped"> |
|
<tr> |
|
<th>Name</th> |
|
<th>Value</th> |
|
</tr> |
|
<py:for each="name, value in c.browsers"> |
|
<tr> |
|
<td>${name}</td> |
|
<td>${value}</td> |
|
</tr> |
|
</py:for> |
|
</table> |
|
</div> |
|
<div class="tab-pane" id="os"> |
|
<table class="table table-condensed table-bordered table-striped"> |
|
<tr> |
|
<th>Name</th> |
|
<th>Value</th> |
|
</tr> |
|
<py:for each="name, value in c.os"> |
|
<tr> |
|
<td>${name}</td> |
|
<td>${value}</td> |
|
</tr> |
|
</py:for> |
|
</table> |
|
</div> |
|
<div class="tab-pane" id="social_networks"> |
|
<table class="table table-condensed table-bordered table-striped"> |
|
<tr> |
|
<th>Name</th> |
|
<th>Value</th> |
|
</tr> |
|
<py:for each="name, value in c.social_networks"> |
|
<tr> |
|
<td>${name}</td> |
|
<td>${value}</td> |
|
</tr> |
|
</py:for> |
|
</table> |
|
</div> |
|
<div class="tab-pane" id="languages"> |
|
<table class="table table-condensed table-bordered table-striped"> |
|
<tr> |
|
<th>Name</th> |
|
<th>Value</th> |
|
</tr> |
|
<py:for each="name, value in c.languages"> |
|
<tr> |
|
<td>${name}</td> |
|
<td>${value}</td> |
|
</tr> |
|
</py:for> |
|
</table> |
|
</div> |
|
<div class="tab-pane" id="country"> |
|
<table class="table table-condensed table-bordered table-striped"> |
|
<tr> |
|
<th>Name</th> |
|
<th>Value</th> |
|
</tr> |
|
<py:for each="name, value in c.country"> |
|
<tr> |
|
<td>${name}</td> |
|
<td>${value}</td> |
|
</tr> |
|
</py:for> |
|
</table> |
|
</div> |
|
|
|
|
|
</div> |
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
<xi:include href="../../layout.html" /> |
|
|
|
<py:def function="optional_footer"> |
|
<script type='text/javascript'> |
|
$('.nav-tabs li a').click(function (e) { |
|
e.preventDefault(); |
|
$(this).tab('show'); |
|
}) |
|
</script> |
|
</py:def> |
|
</html> |
|
|
|
|
|
|
|
|