blob: b96169c8f5d692de3cedf6e9f7285cfc597a3305 [file] [log] [blame]
Siobhan Tullycf04fb62014-01-11 11:25:57 -05001#sites.py
2
3from django.contrib.admin.sites import AdminSite
4
5
6class AdminMixin(object):
7 """Mixin for AdminSite to allow custom dashboard views."""
8
9 def __init__(self, *args, **kwargs):
10 return super(AdminMixin, self).__init__(*args, **kwargs)
11
12 def get_urls(self):
13 """Add our dashboard view to the admin urlconf. Deleted the default index."""
14 from django.conf.urls import patterns, url
Scott Baker771819b2014-03-19 22:10:17 -070015 from views import DashboardWelcomeView, DashboardAjaxView, SimulatorView, DashboardSummaryAjaxView, DashboardAddOrRemoveSliverView, DashboardUserSiteView, DashboardAnalyticsAjaxView
Siobhan Tullycf04fb62014-01-11 11:25:57 -050016
17 urls = super(AdminMixin, self).get_urls()
18 del urls[0]
19 custom_url = patterns('',
Scott Baker771819b2014-03-19 22:10:17 -070020 url(r'^$', self.admin_view(DashboardWelcomeView.as_view()),
Siobhan Tully06d2c032014-02-23 23:48:52 -050021 name="index"),
Scott Baker771819b2014-03-19 22:10:17 -070022 url(r'^hpcdashuserslices/', self.admin_view(DashboardUserSiteView.as_view()),
23 name="hpcdashuserslices"),
24 url(r'^hpcdashboard/', self.admin_view(DashboardAjaxView.as_view()), # DEPRECATED
25 name="hpcdashboard"),
26 url(r'^simulator/', self.admin_view(SimulatorView.as_view()),
27 name="simulator"),
28 url(r'^hpcsummary/', self.admin_view(DashboardSummaryAjaxView.as_view()), # DEPRECATED
29 name="hpcsummary"),
30 url(r'^analytics/(?P<name>\w+)/$', self.admin_view(DashboardAnalyticsAjaxView.as_view()),
31 name="analytics"),
32 url(r'^dashboardaddorremsliver/$', self.admin_view(DashboardAddOrRemoveSliverView.as_view()),
33 name="addorremsliver")
Siobhan Tullycf04fb62014-01-11 11:25:57 -050034 )
35
36 return custom_url + urls
37
38
39class SitePlus(AdminMixin, AdminSite):
40 """
41 A Django AdminSite with the AdminMixin to allow registering custom
42 dashboard view.
43 """