Ilya Shakhat 37066a0254 Open reviews report is added
* Latest changed reviews
 * Stats since first revision

Part of blueprint module-review-backlog-stats

Change-Id: I1638f42c153c74b4b2f73578c8215a599b949a7a
2013-10-28 16:10:53 +04:00

118 lines
5.1 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title>Open reviews report for {{ module }}</title>
<link rel=stylesheet type=text/css href="{{ url_for('static', filename='css/style.css') }}">
<link href='http://fonts.googleapis.com/css?family=PT+Sans:400,700,400italic&subset=latin,cyrillic' rel='stylesheet' type='text/css' />
<link href='http://fonts.googleapis.com/css?family=PT+Sans+Caption&subset=latin,cyrillic' rel='stylesheet' type='text/css' />
<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow:400,700&subset=latin,cyrillic' rel='stylesheet' type='text/css' />
<link rel="icon" href="{{ url_for('static', filename='images/favicon.png') }}" type="image/png"/>
<link rel=stylesheet type=text/css href="{{ url_for('static', filename='css/jquery.jqplot.min.css') }}">
<link rel=stylesheet type=text/css href="{{ url_for('static', filename='css/jquery.dataTables.css') }}">
<link rel=stylesheet type=text/css href="{{ url_for('static', filename='css/select2.css') }}">
<link rel=stylesheet type=text/css href="{{ url_for('static', filename='css/style.css') }}">
<script type="text/javascript" src="{{ url_for('static', filename='js/jquery-1.9.1.min.js') }}"></script>
<script type="text/javascript" src="{{ url_for('static', filename='js/jquery.dataTables.min.js') }}"></script>
<script type="text/javascript" src="{{ url_for('static', filename='js/jquery.jqplot.min.js') }}"></script>
<!--[if lt IE 9]><script type="text/javascript" src="{{ url_for('static', filename='js/excanvas.min.js') }}"></script><![endif]-->
<script type="text/javascript" src="{{ url_for('static', filename='js/jqplot.json2.min.js') }}"></script>
<script type="text/javascript" src="{{ url_for('static', filename='js/jqplot.pieRenderer.min.js') }}"></script>
<script type="text/javascript" src="{{ url_for('static', filename='js/jqplot.barRenderer.min.js') }}"></script>
<script type="text/javascript" src="{{ url_for('static', filename='js/jqplot.categoryAxisRenderer.min.js') }}"></script>
<script type="text/javascript" src="{{ url_for('static', filename='js/jqplot.dateAxisRenderer.min.js') }}"></script>
<script type="text/javascript" src="{{ url_for('static', filename='js/jqplot.canvasTextRenderer.min.js') }}"></script>
<script type="text/javascript" src="{{ url_for('static', filename='js/jqplot.canvasAxisTickRenderer.min.js') }}"></script>
<script type="text/javascript" src="{{ url_for('static', filename='js/jqplot.cursor.min.js') }}"></script>
<script type="text/javascript" src="{{ url_for('static', filename='js/jqplot.highlighter.min.js') }}"></script>
<script type="text/javascript" src="{{ url_for('static', filename='js/select2.min.js') }}"></script>
<script type="text/javascript" src="{{ url_for('static', filename='js/jquery.tmpl.js') }}"></script>
<script type="text/javascript" src="{{ url_for('static', filename='js/stackalytics-ui.js') }}"></script>
<script type="text/javascript">
function render_bar_chart(chart_id, chart_data) {
$.jqplot(chart_id, chart_data, {
seriesDefaults: {
renderer: $.jqplot.BarRenderer,
rendererOptions: {
barMargin: 1
},
pointLabels: {show: true}
},
axes: {
xaxis: {
renderer: $.jqplot.CategoryAxisRenderer,
label: "Age"
},
yaxis: {
label: "Count"
}
}
});
}
$(document).ready(function () {
render_bar_chart("latest_revision_chart", [{{ latest_revision.chart_data }}]);
render_bar_chart("first_revision_chart", [{{ first_revision.chart_data }}]);
});
</script>
<style>
.label {
font-weight: bold;
line-height: 135%;
}
.message {
margin-top: 1em;
white-space: pre-wrap;
}
</style>
</head>
<body style="margin: 2em;">
<h1>Open reviews for {{ module }}</h1>
<h3>Summary:</h3>
<ul>
<li>Total open reviews: {{ total_open }}</li>
<li>Waiting on reviewer: {{ waiting_on_reviewer }}</li>
<li>Waiting on submitter: {{ waiting_on_submitter }}</li>
</ul>
{% if total_open %}
<h3>Stats since last revision</h3>
<ul>
<li>Average wait time: {{ latest_revision.average }}</li>
<li>Max wait time: {{ latest_revision.max }}</li>
</ul>
<div id="latest_revision_chart" style="width: 100%; height: 350px;"></div>
<ol>
{% for item in latest_revision.reviews[:5] %}
<li>{{ item.lastUpdated_age }} <a href="{{ item.url }}">{{ item.url }}</a> {{ item.subject }} by {{ item.author_name }} ({{ item.company_name }})</li>
{% endfor %}
</ol>
<h3>Stats since first revision</h3>
<ul>
<li>Average wait time: {{ first_revision.average }}</li>
<li>Max wait time: {{ first_revision.max }}</li>
</ul>
<div id="first_revision_chart" style="width: 100%; height: 350px;"></div>
<ol>
{% for item in first_revision.reviews[:5] %}
<li>{{ item.date_age }} <a href="{{ item.url }}">{{ item.url }}</a> {{ item.subject }} by {{ item.author_name }} ({{ item.company_name }})</li>
{% endfor %}
</ol>
{% endif %}