diff --git a/cara/apps/calculator/user.py b/cara/apps/calculator/user.py index 3f35094a..a678e760 100644 --- a/cara/apps/calculator/user.py +++ b/cara/apps/calculator/user.py @@ -12,6 +12,10 @@ class User: """Return True if current user is not authenticated.""" raise NotImplementedError + def domain(self) -> str: + """Return a domain for this user. The domain must not be specific enough to identify a single user.""" + return 'other' + @dataclass class AuthenticatedUser(User): @@ -25,9 +29,16 @@ class AuthenticatedUser(User): def is_anonymous(self) -> bool: return False + def domain(self) -> str: + if self.email.lower() == "cara.un@cern.ch" or self.email.endswith('@un.org'): + return 'UN.org' + elif self.email.lower().endswith('@cern.ch'): + return 'CERN' + else: + return 'other' + class AnonymousUser(User): - def is_authenticated(self) -> bool: return False diff --git a/cara/apps/static/js/usage-tracking.js b/cara/apps/static/js/usage-tracking.js index 1e12172c..60ac23c5 100644 --- a/cara/apps/static/js/usage-tracking.js +++ b/cara/apps/static/js/usage-tracking.js @@ -1,5 +1,8 @@ if (document.location.hostname == "test-cara.web.cern.ch") { var _paq = _paq || []; + if (typeof AuthUserDomain !== 'undefined') { + _paq.push(["setCustomVariable", 1, "AuthUserDomain", AuthUserDomain, "visit"]); + } _paq.push(["trackPageView"]); _paq.push(["enableLinkTracking"]); (function () { @@ -17,6 +20,10 @@ if (document.location.hostname == "test-cara.web.cern.ch") { })(); } else if (document.location.hostname == "cara.web.cern.ch") { var _paq = _paq || []; + if (typeof AuthUserDomain !== 'undefined') { + _paq.push(["setCustomVariable", 1, "AuthUserDomain", AuthUserDomain, "visit"]); + } + _paq.push(["setCustomVariable", 1, "AuthUserDomain", AuthUserDomain, "visit"]); _paq.push(["trackPageView"]); _paq.push(["enableLinkTracking"]); (function () { diff --git a/cara/apps/templates/layout.html.j2 b/cara/apps/templates/layout.html.j2 index 04448fa3..0bc9c4b1 100644 --- a/cara/apps/templates/layout.html.j2 +++ b/cara/apps/templates/layout.html.j2 @@ -77,6 +77,9 @@ // Disabled until we tidy up the CSS... ;)
  • Sign out
  • --> + {% endif %}
  • Directory