[odrs-web] Merge in the distros section into stats
- From: Richard Hughes <rhughes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [odrs-web] Merge in the distros section into stats
- Date: Mon, 8 Jul 2019 15:07:35 +0000 (UTC)
commit 6a92f62f1b92ceed60e5eb08211d77f85fc8dad9
Author: Richard Hughes <richard hughsie com>
Date: Mon Jul 8 16:07:27 2019 +0100
Merge in the distros section into stats
app_data/odrs/templates/default.html | 1 -
app_data/odrs/templates/distros.html | 32 --------------------------------
app_data/odrs/templates/stats.html | 26 ++++++++++++++++++++++++++
app_data/odrs/tests/odrs_test.py | 7 ++-----
app_data/odrs/views_admin.py | 27 +++++++++------------------
5 files changed, 37 insertions(+), 56 deletions(-)
---
diff --git a/app_data/odrs/templates/default.html b/app_data/odrs/templates/default.html
index 384a3a7..ca9fbd3 100644
--- a/app_data/odrs/templates/default.html
+++ b/app_data/odrs/templates/default.html
@@ -40,7 +40,6 @@
<li><a href="{{url_for('.admin_moderator_show_all')}}">Moderators</a></li>
<li><a href="{{url_for('.admin_taboo_show_all')}}">Taboos</a></li>
<li><a href="{{url_for('.admin_component_show_all')}}">Components</a></li>
- <li><a href="{{url_for('.admin_distros')}}">Distributions</a></li>
<li><a href="{{url_for('.admin_graph_month')}}">Usage</a></li>
<li><a href="{{url_for('.admin_search')}}">Search</a></li>
{% endif %}
diff --git a/app_data/odrs/templates/stats.html b/app_data/odrs/templates/stats.html
index d6c5f03..6b89bbc 100644
--- a/app_data/odrs/templates/stats.html
+++ b/app_data/odrs/templates/stats.html
@@ -2,6 +2,10 @@
{% block title %}Statistics{% endblock %}
{% block content %}
+<script src="Chart.js"></script>
+<script>
+Chart.defaults.global.animation = false;
+</script>
<h2>Web Service Statistics</h2>
<table class="table table-hover table-responsive">
@@ -83,4 +87,26 @@
{% endfor %}
</table>
+<h2>Where Reviews Come From</h2>
+<canvas id="reviewsChart" width="900" height="400"></canvas>
+<script>
+var ctx = document.getElementById("reviewsChart").getContext("2d");
+var data = {
+ labels: {{labels|safe}},
+ datasets: [
+ {
+ label: "Distributions",
+ fillColor: "rgba(20,120,220,0.2)",
+ strokeColor: "rgba(20,120,120,0.1)",
+ pointColor: "rgba(20,120,120,0.3)",
+ pointStrokeColor: "#fff",
+ pointHighlightFill: "#fff",
+ pointHighlightStroke: "rgba(220,220,220,1)",
+ data: {{data|safe}}
+ },
+ ]
+};
+var myBarChartDistros = new Chart(ctx).Bar(data, null);
+</script>
+
{% endblock %}
diff --git a/app_data/odrs/tests/odrs_test.py b/app_data/odrs/tests/odrs_test.py
index 1c74fc4..84e1319 100644
--- a/app_data/odrs/tests/odrs_test.py
+++ b/app_data/odrs/tests/odrs_test.py
@@ -107,10 +107,8 @@ class OdrsTest(unittest.TestCase):
assert b'Chart.js' in rv.data, rv.data
assert b'0, 1' in rv.data, rv.data
- rv = self.app.get('/admin/distros')
- assert b'Chart.js' in rv.data, rv.data
-
rv = self.app.get('/admin/stats')
+ assert b'Chart.js' in rv.data, rv.data
assert b'Active reviews</td>\n <td>1</td>' in rv.data, rv.data
assert b'Haters Gonna Hate' in rv.data, rv.data
@@ -638,8 +636,7 @@ class OdrsTest(unittest.TestCase):
'/admin/show/reported',
'/admin/show/unmoderated',
'/admin/stats',
- '/admin/moderators/all',
- '/admin/distros']
+ '/admin/moderators/all']
for uri in uris:
rv = self.app.get(uri)
assert b'favicon.ico' in rv.data, rv.data
diff --git a/app_data/odrs/views_admin.py b/app_data/odrs/views_admin.py
index 852bfad..fcc56bf 100644
--- a/app_data/odrs/views_admin.py
+++ b/app_data/odrs/views_admin.py
@@ -242,23 +242,7 @@ def admin_show_stats():
order_by(User.karma.asc()).\
limit(10).all()
- return render_template('stats.html',
- users_awesome=users_awesome,
- users_haters=users_haters,
- results_stats=stats,
- results_viewed=viewed,
- results_submitted=submitted)
-
-@app.route('/admin/distros')
-@login_required
-def admin_distros():
- """
- Return the statistics page as HTML.
- """
- # security check
- if not current_user.is_admin:
- flash('Unable to show distros as non-admin', 'error')
- return redirect(url_for('.odrs_index'))
+ # distros
rs = db.session.execute("SELECT DISTINCT(distro), COUNT(distro) AS total " # pylint: disable=no-member
"FROM reviews GROUP BY distro ORDER BY total DESC "
"LIMIT 8;")
@@ -271,7 +255,14 @@ def admin_distros():
name = name[:-len(suffix)]
labels.append(name)
data.append(s[1])
- return render_template('distros.html', labels=labels, data=data)
+
+ return render_template('stats.html',
+ users_awesome=users_awesome,
+ users_haters=users_haters,
+ results_stats=stats,
+ results_viewed=viewed,
+ results_submitted=submitted,
+ labels=labels, data=data)
@app.route('/admin/review/<review_id>')
@login_required
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]