aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMilo Casagrande <milo.casagrande@linaro.org>2014-10-27 10:48:23 +0100
committerMilo Casagrande <milo.casagrande@linaro.org>2014-10-27 10:48:23 +0100
commit3866d615bf3a4649a209f8f0635d4787cc7841b0 (patch)
tree16dfc0865d686e5a577bfcd6b597f108fb57aed0
parentb95a31887853d88f8d92a524876dca9650b4a51d (diff)
base: Add Google Analytics.
* Add google analytics code snippet in base template. * Add default GOOGLE_ANALYTICS_ID variable (set to None). * Add context preprocessor to automatically include the analytics code ID. Change-Id: I7dbeb283d1579873410c71b8d45a0ab31bf04334
-rw-r--r--app/dashboard/__init__.py5
-rw-r--r--app/dashboard/default_settings.py3
-rw-r--r--app/dashboard/templates/base.html15
3 files changed, 23 insertions, 0 deletions
diff --git a/app/dashboard/__init__.py b/app/dashboard/__init__.py
index 3ed6056..4319308 100644
--- a/app/dashboard/__init__.py
+++ b/app/dashboard/__init__.py
@@ -147,6 +147,11 @@ app.add_url_rule(
)
+@app.context_processor
+def inject_analytics():
+ return dict(analytics=app.config.get('GOOGLE_ANALYTICS_ID'))
+
+
@app.errorhandler(404)
def page_not_found(e):
path = os.path.join(app.root_path, 'static', 'html', '404-content.html')
diff --git a/app/dashboard/default_settings.py b/app/dashboard/default_settings.py
index f01e576..292ab3a 100644
--- a/app/dashboard/default_settings.py
+++ b/app/dashboard/default_settings.py
@@ -67,5 +67,8 @@ BISECT_API_ENDPOINT = '/api/bisect'
# for the browser to show it all.
DATE_RANGE = 5
+# Google Analytics code.
+GOOGLE_ANALYTICS_ID = None
+
DEBUG = True
TESTING = DEBUG
diff --git a/app/dashboard/templates/base.html b/app/dashboard/templates/base.html
index c460f8f..bc5555b 100644
--- a/app/dashboard/templates/base.html
+++ b/app/dashboard/templates/base.html
@@ -71,6 +71,21 @@
<script type="text/javascript" src="/static/js/jquery.hotkeymap-1.0.min.js"></script>
<script type="text/javascript" src="/static/js/linaro-hotkeys-1.0.min.js"></script>
<script type="text/javascript" src="/static/js/linaro-base-1.0.0.js"></script>
+{%- block analytics %}
+{%- if analytics %}
+<script type="text/javascript">
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', '{{ analytics }}']);
+ _gaq.push(['_trackPageview']);
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ })();
+</script>
+{%- endif %}
+{%- endblock %} {# Analytics block #}
{%- endblock %}
</body>
</html>