From a13bed120526240667d92b9cc667f8ac850d08a7 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Tue, 28 Mar 2017 07:53:46 +0200 Subject: [PATCH] added Google Analytics --- context_processors.py | 20 ++++++++++++++++++++ rowers/templates/base.html | 5 ++++- rowers/templates/ga.html | 10 ++++++++++ rowers/tests.py | 5 ++++- rowsandall_app/settings.py | 7 ++++++- 5 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 context_processors.py create mode 100644 rowers/templates/ga.html diff --git a/context_processors.py b/context_processors.py new file mode 100644 index 00000000..1d6a00d6 --- /dev/null +++ b/context_processors.py @@ -0,0 +1,20 @@ +from django.conf import settings + +def google_analytics(request): + """ + Use the variables returned in this function to + render your Google Analytics tracking code template. + """ + ga_prop_id = getattr(settings, 'GOOGLE_ANALYTICS_PROPERTY_ID', False) + ga_domain = getattr(settings, 'GOOGLE_ANALYTICS_DOMAIN', False) + if not settings.DEBUG and ga_prop_id and ga_domain: + return { + 'GOOGLE_ANALYTICS_PROPERTY_ID': ga_prop_id, + 'GOOGLE_ANALYTICS_DOMAIN': ga_domain, + } + return {} + +def hello_world(request): + return { + 'helloworld': 'hi Sander' + } diff --git a/rowers/templates/base.html b/rowers/templates/base.html index c2d991d7..11e99b6c 100644 --- a/rowers/templates/base.html +++ b/rowers/templates/base.html @@ -5,6 +5,9 @@ {% analytical_head_top %} + {% if GOOGLE_ANALYTICS_PROPERTY_ID %} + {% include "ga.html" %} + {% endif %} @@ -52,7 +55,7 @@ {% if user.rower.rowerplan == 'pro' or user.rower.rowerplan == 'coach' %}
Pro Member
{% else %} -

 

+
Upgrade to Pro
{% endif %}
diff --git a/rowers/templates/ga.html b/rowers/templates/ga.html new file mode 100644 index 00000000..dd37c1c6 --- /dev/null +++ b/rowers/templates/ga.html @@ -0,0 +1,10 @@ + diff --git a/rowers/tests.py b/rowers/tests.py index 1b24e6cd..d67a8dcc 100644 --- a/rowers/tests.py +++ b/rowers/tests.py @@ -561,7 +561,10 @@ class ViewTest(TestCase): response = self.c.get('/rowers/workout/1/', form_data, follow=True) self.assertEqual(response.status_code, 200) - + + response = self.c.get('/rowers/workout/1/export', form_data, follow=True) + self.assertEqual(response.status_code, 200) + response = self.c.get('/rowers/workout/1/interactiveplot', form_data, follow=True) self.assertEqual(response.status_code, 200) diff --git a/rowsandall_app/settings.py b/rowsandall_app/settings.py index 0cd505dd..c2a90e49 100644 --- a/rowsandall_app/settings.py +++ b/rowsandall_app/settings.py @@ -1,3 +1,4 @@ + """ Django settings for rowsandall_app project. @@ -103,10 +104,11 @@ TEMPLATES = [ 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', - 'django.core.context_processors.request', + 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'django.template.context_processors.i18n', + 'context_processors.google_analytics', ], # 'loaders': [ # 'django.template.loaders.app_directories.Loader', @@ -325,6 +327,9 @@ SWAGGER_SETTINGS = { CLICKY_SITE_ID = CFG['clicky_site_id'] +GOOGLE_ANALYTICS_PROPERTY_ID = CFG['google_analytics_id'] +GOOGLE_ANALYTICS_DOMAIN = CFG['google_analytics_domain'] + TWEET_ACCESS_TOKEN_KEY = CFG['tweet_access_token_key'] TWEET_ACCESS_TOKEN_SECRET = CFG['tweet_access_token_secret'] TWEET_CONSUMER_KEY = CFG['tweet_consumer_key']