rename plus to dashboard
[plstackapi.git] / planetstack / core / dashboard / sites.py
1 #sites.py
2
3 from django.contrib.admin.sites import AdminSite
4
5
6 class 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
15         from views import DashboardCustomize, DashboardDynamicView, DashboardWelcomeView, DashboardAjaxView, SimulatorView, \
16                           DashboardSummaryAjaxView, DashboardAddOrRemoveSliverView, DashboardUserSiteView, DashboardAnalyticsAjaxView, \
17                           TenantViewData,TenantCreateSlice, TenantAddOrRemoveSliverView, TenantPickSitesView, TenantDeleteSliceView, \
18                           TenantUpdateSlice, DashboardSliceInteractions
19
20         urls = super(AdminMixin, self).get_urls()
21         del urls[0]
22         custom_url = patterns('',
23                url(r'^$', self.admin_view(DashboardDynamicView.as_view()),
24                     name="index"),
25                url(r'^test/', self.admin_view(DashboardUserSiteView.as_view()),
26                     name="test"),
27                url(r'^sliceinteractions/(?P<name>\w+)/$', self.admin_view(DashboardSliceInteractions.as_view()),
28                     name="interactions"),
29                url(r'^dashboard/(?P<name>\w+)/$', self.admin_view(DashboardDynamicView.as_view()),
30                     name="dashboard"),
31                url(r'^customize/$', self.admin_view(DashboardCustomize.as_view()),
32                     name="customize"),
33                url(r'^hpcdashuserslices/', self.admin_view(DashboardUserSiteView.as_view()),
34                     name="hpcdashuserslices"),
35                url(r'^hpcdashboard/', self.admin_view(DashboardAjaxView.as_view()),        # DEPRECATED
36                     name="hpcdashboard"),
37                url(r'^simulator/', self.admin_view(SimulatorView.as_view()),
38                     name="simulator"),
39                url(r'^hpcsummary/', self.admin_view(DashboardSummaryAjaxView.as_view()),   # DEPRECATED
40                     name="hpcsummary"),
41                url(r'^analytics/(?P<name>\w+)/$', DashboardAnalyticsAjaxView.as_view(),
42                     name="analytics"),
43                url(r'^dashboardaddorremsliver/$', self.admin_view(DashboardAddOrRemoveSliverView.as_view()),
44                     name="addorremsliver"),
45                url(r'^tenantaddorremsliver/$', self.admin_view(TenantAddOrRemoveSliverView.as_view()),
46                     name="tenantaddorremsliver"),
47                url(r'^tenantview/$', self.admin_view(TenantViewData.as_view()),
48                     name="tenantview"),
49                url(r'^createnewslice/$', self.admin_view(TenantCreateSlice.as_view()),
50                     name="createnewslice"),
51                url(r'^updateslice/$', self.admin_view(TenantUpdateSlice.as_view()),
52                     name="updateslice"),
53                url(r'^picksites/$', self.admin_view(TenantPickSitesView.as_view()),
54                     name="picksites"),
55                url(r'^tenantdeleteslice/$', self.admin_view(TenantDeleteSliceView.as_view()),
56                     name="tenantdeleteslice")
57         )
58
59         return custom_url + urls
60
61
62 class SitePlus(AdminMixin, AdminSite):
63     """
64     A Django AdminSite with the AdminMixin to allow registering custom
65     dashboard view.
66     """