b2e88bb6428484c9ddfa19046139db1e536bb6a1
[myslice.git] / myslice / urls.py
1 from django.conf.urls import patterns, include, url
2 from django.conf      import settings
3 from django.contrib import admin
4
5 ##
6 # components module
7 ##
8 import components
9
10 # Uncomment the next two lines to enable the admin:
11 # from django.contrib import admin
12 # admin.autodiscover()
13
14 # to enable insert_above stuff
15 # add_to_builtins has changed location with django-1.7
16 # also note this will probably go away some day
17 try:
18     from django.template.loader import add_to_builtins
19 except:
20     from django.template.base import add_to_builtins
21 add_to_builtins('insert_above.templatetags.insert_tags')
22
23 from settings import auxiliaries, INSTALLED_APPS
24
25 import portal.about
26 import portal.institution
27 import portal.registrationview
28 import portal.accountview
29 import portal.contactview
30 import portal.termsview
31 import portal.supportview
32
33 import portal.platformsview
34 import portal.dashboardview
35 import portal.homeview
36 import portal.newsview
37 import portal.loginwidget
38
39 platforms_view=portal.platformsview.PlatformsView.as_view()
40
41 #import portal.testbedlist
42 import portal.sliceview
43 import portal.sliceresourceview
44
45 # Testing sfa rest
46 import portal.resources
47
48 import portal.slicetabexperiment
49 import portal.slicetabcloud
50 import portal.slicetabinfo
51 import portal.slicetabtestbeds
52 import portal.slicetabusers
53 import portal.slicetabmeasurements 
54
55 import portal.managementtababout
56 import portal.managementtabrequests
57
58 urls = [
59     '',
60     # Examples:
61     # url(r'^$', 'myslice.views.home', name='home'),
62     # url(r'^myslice/', include('myslice.foo.urls')),
63     # Uncomment the admin/doc line below to enable admin documentation:
64     # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
65     # Uncomment the next line to enable the admin:
66     url(r'^admin/', include(admin.site.urls)),
67     #
68     # default / view
69     (r'^/?$', portal.homeview.HomeView.as_view()),
70     #
71     # login / logout
72     (r'^login-ok/?$', portal.dashboardview.DashboardView.as_view(), {'state': 'Welcome to MySlice'} ),
73     #
74     # seems to be what login_required uses to redirect ...
75     (r'^accounts/login/$', portal.homeview.HomeView.as_view()),
76     (r'^login/?$', portal.homeview.HomeView.as_view()),
77     (r'^logout/?$', 'localauth.views.logout_user'),
78     #
79     # the manifold proxy
80     (r'^manifold/proxy/(?P<format>\w+)/?$', 'manifoldapi.manifoldproxy.proxy'),
81     #
82     #
83     # RESTful interface
84     (r'^rest/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.get.dispatch'),
85     (r'^sfa/(?P<method>[^/]+)/?$', 'rest.sfa_api.dispatch'),
86     (r'^table/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.get.dispatch'),
87     (r'^datatable/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.get.dispatch'),
88     (r'^update/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.update.dispatch'),
89     (r'^create/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.create.dispatch'),
90     (r'^delete/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.delete.dispatch'),
91     (r'^local_user/(?P<action>[^/]+)/?$', 'rest.local_user.dispatch'),
92     (r'^credentials/(?P<action>[^/]+)/?$', 'rest.credentials.dispatch'),
93     (r'^cache/(?P<action>[^/]+)/?$', 'rest.cache.dispatch'),
94     (r'^initscript/(?P<action>[^/]+)/?$', 'rest.initscript.dispatch'),
95     (r'^authority/(?P<action>[^/]+)/?$', 'rest.authority.dispatch'),
96     (r'^portal_version/?$', 'rest.portal_version.dispatch'),
97     #
98     # REST monitoring
99     (r'^monitor/services/?$', 'rest.monitor.servicesStatus'),
100     #
101     #(r'^view/?', include('view.urls')),
102     #(r'^list/slices', 'view.list.slices')
103     #
104     # Login widget to be used in an iframe
105     (r'^loginwidget/?$', portal.loginwidget.LoginWidget.as_view()),
106     #
107     # Portal
108     (r'^news/?$', portal.newsview.NewsView.as_view()),
109     (r'^resources/(?P<slicename>[^/]+)/?$', portal.sliceresourceview.SliceResourceView.as_view()),
110     (r'^users/(?P<slicename>[^/]+)/?$', portal.slicetabusers.SliceUserView.as_view()),
111
112     # Testing sfa rest
113     (r'^sfa_resources/(?P<slicename>[^/]+)/?$', portal.resources.ResourcesView.as_view()),
114     
115     (r'^slice/(?P<slicename>[^/]+)/?$', portal.sliceview.SliceView.as_view()),
116     (r'^info/(?P<slicename>[^/]+)/?$', portal.slicetabinfo.SliceInfoView.as_view()),
117     (r'^testbeds/(?P<slicename>[^/]+)/?$', portal.slicetabtestbeds.SliceTabTestbeds.as_view()),
118     (r'^measurements/(?P<slicename>[^/]+)/?$', portal.slicetabmeasurements.SliceTabMeasurements.as_view()),
119     (r'^experiment/(?P<slicename>[^/]+)/?$', portal.slicetabexperiment.ExperimentView.as_view()),
120     (r'^cloud/(?P<slicename>[^/]+)/?$', portal.slicetabcloud.CloudView.as_view()),
121     
122     
123     url(r'^about/?$', portal.about.AboutView.as_view(), name='about'),
124     
125     url(r'^institution/?$', portal.institution.InstitutionView.as_view(), name='institution'),
126     (r'^management/requests/?$', portal.managementtabrequests.ManagementRequestsView.as_view()),
127     (r'^management/about/?$', portal.managementtababout.ManagementAboutView.as_view()),
128     #
129     url(r'^register/?$', portal.registrationview.RegistrationView.as_view(), name='registration'),
130     url(r'^account/?$', portal.accountview.AccountView.as_view(), name='account'),
131     url(r'^account/account_process/?$', portal.accountview.account_process),
132     url(r'^contact/?$', portal.contactview.ContactView.as_view(), name='contact'),
133     url(r'^terms/?$', portal.termsview.TermsView.as_view(), name='terms'),
134     url(r'^support/?$', portal.supportview.SupportView.as_view(), name='support'),
135     #
136     url(r'^portal/', include('portal.urls')),
137
138     # SLA
139     #url(r'^sla/', include('sla.urls')),
140 ]
141
142 urls.extend( components.urls() )
143
144 #this one would not match the convention
145 # url(r'^debug/', include('debug_platform.urls')),
146 # but it was commented out anyways
147 for aux in auxiliaries:
148     if aux in INSTALLED_APPS:
149         urls.append ( url ( r'^%s/'%aux, include ('%s.urls' % aux )))
150
151 urlpatterns = patterns(*urls)