3 from django.contrib.admin.sites import AdminSite
6 class AdminMixin(object):
7 """Mixin for AdminSite to allow custom dashboard views."""
9 def __init__(self, *args, **kwargs):
10 return super(AdminMixin, self).__init__(*args, **kwargs)
13 """Add our dashboard view to the admin urlconf. Deleted the default index."""
14 from django.conf.urls import patterns, url
15 from views import DashboardView, DashboardWelcomeView, DashboardAjaxView, SimulatorView, DashboardSummaryAjaxView, DashboardAddOrRemoveSliverView, DashboardUserSiteView, DashboardAnalyticsAjaxView, TenantViewData,TenantCreateSlice, TenantAddOrRemoveSliverView, TenantPickSitesView, TenantDeleteSliceView,TenantUpdateSlice
17 urls = super(AdminMixin, self).get_urls()
19 custom_url = patterns('',
20 url(r'^$', self.admin_view(DashboardWelcomeView.as_view()),
22 url(r'^test/', self.admin_view(DashboardUserSiteView.as_view()),
24 url(r'^dashboard/(?P<name>\w+)/$', self.admin_view(DashboardView.as_view()),
26 url(r'^hpcdashuserslices/', self.admin_view(DashboardUserSiteView.as_view()),
27 name="hpcdashuserslices"),
28 url(r'^hpcdashboard/', self.admin_view(DashboardAjaxView.as_view()), # DEPRECATED
30 url(r'^simulator/', self.admin_view(SimulatorView.as_view()),
32 url(r'^hpcsummary/', self.admin_view(DashboardSummaryAjaxView.as_view()), # DEPRECATED
34 url(r'^analytics/(?P<name>\w+)/$', DashboardAnalyticsAjaxView.as_view(),
36 url(r'^dashboardaddorremsliver/$', self.admin_view(DashboardAddOrRemoveSliverView.as_view()),
37 name="addorremsliver"),
38 url(r'^tenantaddorremsliver/$', self.admin_view(TenantAddOrRemoveSliverView.as_view()),
39 name="tenantaddorremsliver"),
40 url(r'^tenantview/$', self.admin_view(TenantViewData.as_view()),
42 url(r'^createnewslice/$', self.admin_view(TenantCreateSlice.as_view()),
43 name="createnewslice"),
44 url(r'^updateslice/$', self.admin_view(TenantUpdateSlice.as_view()),
46 url(r'^picksites/$', self.admin_view(TenantPickSitesView.as_view()),
48 url(r'^tenantdeleteslice/$', self.admin_view(TenantDeleteSliceView.as_view()),
49 name="tenantdeleteslice")
52 return custom_url + urls
55 class SitePlus(AdminMixin, AdminSite):
57 A Django AdminSite with the AdminMixin to allow registering custom