forked from JacobSheehy/pressureNETAnalysis
-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathdashboard.py
More file actions
86 lines (67 loc) · 2.28 KB
/
dashboard.py
File metadata and controls
86 lines (67 loc) · 2.28 KB
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
83
84
85
86
"""
This file was generated with the customdashboard management command and
contains the class for the main dashboard.
To activate your index dashboard add the following to your settings.py::
GRAPPELLI_INDEX_DASHBOARD = 'pressurenet.dashboard.PressureNETIndexDashboard'
"""
import random
from django.utils.translation import ugettext_lazy as _
from django.core.cache import cache
from grappelli.dashboard import modules, Dashboard
class CacheModule(modules.DashboardModule):
template = 'admin/includes/cache_module.html'
def is_empty(self):
return False
def init_with_context(self, context):
cache_key = 'cache_test:%s' % (random.random(),)
cache_value = random.random()
# set to cache
cache.set(cache_key, cache_value, 60)
# get from cache
cache_online = cache.get(cache_key) == cache_value
context['cache_online'] = cache_online
class PressureNETIndexDashboard(Dashboard):
"""
Custom index dashboard for www.
"""
def init_with_context(self, context):
# append an app list module for "Administration"
self.children.append(modules.ModelList(
_('Administration'),
column=1,
collapsible=True,
models=('django.contrib.*',),
))
# append an app list module for "Applications"
self.children.append(modules.ModelList(
_('Readings'),
collapsible=True,
column=1,
models=('readings.*',),
))
# append an app list module for "Applications"
self.children.append(modules.ModelList(
_('Customers'),
collapsible=True,
column=1,
models=('customers.*',),
))
# append an app list module for "Applications"
self.children.append(modules.ModelList(
_('Blog Posts'),
collapsible=True,
column=1,
models=('blog.*',),
))
# Cache module
self.children.append(CacheModule(
_('Cache Status'),
column=2,
))
# append a recent actions module
self.children.append(modules.RecentActions(
_('Recent Actions'),
limit=10,
collapsible=False,
column=3,
))