This repository has been archived by the owner on Mar 15, 2018. It is now read-only.
/
helpers.py
82 lines (74 loc) · 2.29 KB
/
helpers.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
from django.conf import settings
import jinja2
from jingo import register, env
from tower import ugettext as _
from access import acl
from amo.helpers import locale_url
@register.inclusion_tag('stats/report_menu.html')
@jinja2.contextfunction
def report_menu(context, request, addon, report):
report_tree = [
{
'name': 'overview',
'url': '/',
'title': _('Overview'),
},
{
'name': 'downloads',
'url': '/downloads/',
'title': _('Downloads'),
'children': [
{
'name': 'sources',
'url': '/downloads/sources/',
'title': _('by Source'),
},
]
},
{
'name': 'usage',
'url': '/usage/',
'title': _('Daily Users'),
'children': [
{
'name': 'versions',
'url': '/usage/versions/',
'title': _('by Add-on Version')
},
{
'name': 'apps',
'url': '/usage/applications/',
'title': _('by Application')
},
{
'name': 'locales',
'url': '/usage/languages/',
'title': _('by Language')
},
{
'name': 'os',
'url': '/usage/os/',
'title': _('by Platform')
},
{
'name': 'statuses',
'url': '/usage/status/',
'title': _('by Add-on Status')
},
]
},
]
if (request.user.is_authenticated() and (
acl.action_allowed(request, 'Admin', 'ViewAnyStats') or
addon.has_author(request.amo_user))):
report_tree.append({
'name': 'contributions',
'url': '/contributions/',
'title': _('Contributions')
})
base_url = '/addon/%d/statistics' % (addon.id)
"""Reports Menu. navigation for the various statistic reports."""
c = {'report': report,
'base_url': locale_url(base_url),
'report_tree': report_tree}
return c