mirror of
https://github.com/jazzband/django-analytical.git
synced 2026-03-16 22:20:25 +00:00
Make mixpanel dj19-compatible
Looks like django>=1.9 uses `token` somewhere for simpletags, so use `_token` for our own to avoid it getting overwritten.
This commit is contained in:
parent
d42e6d348b
commit
d7fcdb0346
2 changed files with 10 additions and 9 deletions
|
|
@ -8,6 +8,7 @@ import json
|
|||
import re
|
||||
|
||||
from django.template import Library, Node, TemplateSyntaxError
|
||||
from django.utils.safestring import mark_safe
|
||||
|
||||
from analytical.utils import is_internal_ip, disable_html, get_identity, \
|
||||
get_required_setting
|
||||
|
|
@ -46,7 +47,7 @@ def mixpanel(parser, token):
|
|||
|
||||
class MixpanelNode(Node):
|
||||
def __init__(self):
|
||||
self.token = get_required_setting(
|
||||
self._token = get_required_setting(
|
||||
'MIXPANEL_API_TOKEN', MIXPANEL_API_TOKEN_RE,
|
||||
"must be a string containing a 32-digit hexadecimal number")
|
||||
|
||||
|
|
@ -65,11 +66,11 @@ class MixpanelNode(Node):
|
|||
'properties': json.dumps(properties, sort_keys=True)})
|
||||
except KeyError:
|
||||
pass
|
||||
html = TRACKING_CODE % {'token': self.token,
|
||||
html = TRACKING_CODE % {'token': self._token,
|
||||
'commands': " ".join(commands)}
|
||||
if is_internal_ip(context, 'MIXPANEL'):
|
||||
html = disable_html(html, 'Mixpanel')
|
||||
return html
|
||||
return mark_safe(html)
|
||||
|
||||
|
||||
def contribute_to_analytical(add_node):
|
||||
|
|
|
|||
|
|
@ -20,15 +20,15 @@ class MixpanelTagTestCase(TagTestCase):
|
|||
|
||||
def test_tag(self):
|
||||
r = self.render_tag('mixpanel', 'mixpanel')
|
||||
self.assertTrue(
|
||||
"mixpanel.init('0123456789abcdef0123456789abcdef');" in r,
|
||||
r)
|
||||
self.assertIn(
|
||||
"mixpanel.init('0123456789abcdef0123456789abcdef');", r,
|
||||
)
|
||||
|
||||
def test_node(self):
|
||||
r = MixpanelNode().render(Context())
|
||||
self.assertTrue(
|
||||
"mixpanel.init('0123456789abcdef0123456789abcdef');" in r,
|
||||
r)
|
||||
self.assertIn(
|
||||
"mixpanel.init('0123456789abcdef0123456789abcdef');", r,
|
||||
)
|
||||
|
||||
@override_settings(MIXPANEL_API_TOKEN=None)
|
||||
def test_no_token(self):
|
||||
|
|
|
|||
Loading…
Reference in a new issue