61f779f3834d781e0064fc11c6d1eb2bbdbecc07
[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.slicetabinfo
50 import portal.slicetabtestbeds
51 import portal.slicetabusers
52 import portal.slicetabmeasurements 
53
54 import portal.managementtababout
55 import portal.managementtabrequests
56
57 urls = [
58     '',
59     # Examples:
60     # url(r'^$', 'myslice.views.home', name='home'),
61     # url(r'^myslice/', include('myslice.foo.urls')),
62     # Uncomment the admin/doc line below to enable admin documentation:
63     # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
64     # Uncomment the next line to enable the admin:
65     url(r'^admin/', include(admin.site.urls)),
66     #
67     # default / view
68     (r'^/?$', portal.homeview.HomeView.as_view()),
69     #
70     # login / logout
71     (r'^login-ok/?$', portal.dashboardview.DashboardView.as_view(), {'state': 'Welcome to MySlice'} ),
72     #
73     # seems to be what login_required uses to redirect ...
74     (r'^accounts/login/$', portal.homeview.HomeView.as_view()),
75     (r'^login/?$', portal.homeview.HomeView.as_view()),
76     (r'^logout/?$', 'localauth.views.logout_user'),
77     #
78     # the manifold proxy
79     (r'^manifold/proxy/(?P<format>\w+)/?$', 'manifoldapi.manifoldproxy.proxy'),
80     #
81     #
82     # RESTful interface
83     (r'^rest/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.get.dispatch'),
84     (r'^sfa/(?P<method>[^/]+)/?$', 'rest.sfa_api.dispatch'),
85     (r'^table/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.get.dispatch'),
86     (r'^datatable/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.get.dispatch'),
87     (r'^update/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.update.dispatch'),
88     (r'^create/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.create.dispatch'),
89     (r'^delete/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.delete.dispatch'),
90     (r'^local_user/(?P<action>[^/]+)/?$', 'rest.local_user.dispatch'),
91     (r'^credentials/(?P<action>[^/]+)/?$', 'rest.credentials.dispatch'),
92     (r'^cache/(?P<action>[^/]+)/?$', 'rest.cache.dispatch'),
93     (r'^initscript/(?P<action>[^/]+)/?$', 'rest.initscript.dispatch'),
94     (r'^authority/(?P<action>[^/]+)/?$', 'rest.authority.dispatch'),
95     (r'^portal_version/?$', 'rest.portal_version.dispatch'),
96     #
97     # REST monitoring
98     (r'^monitor/services/?$', 'rest.monitor.servicesStatus'),
99     #
100     #(r'^view/?', include('view.urls')),
101     #(r'^list/slices', 'view.list.slices')
102     #
103     # Login widget to be used in an iframe
104     (r'^loginwidget/?$', portal.loginwidget.LoginWidget.as_view()),
105     #
106     # Portal
107     (r'^news/?$', portal.newsview.NewsView.as_view()),
108     (r'^resources/(?P<slicename>[^/]+)/?$', portal.sliceresourceview.SliceResourceView.as_view()),
109     (r'^users/(?P<slicename>[^/]+)/?$', portal.slicetabusers.SliceUserView.as_view()),
110
111     # Testing sfa rest
112     (r'^sfa_resources/(?P<slicename>[^/]+)/?$', portal.resources.ResourcesView.as_view()),
113     
114     (r'^slice/(?P<slicename>[^/]+)/?$', portal.sliceview.SliceView.as_view()),
115     (r'^info/(?P<slicename>[^/]+)/?$', portal.slicetabinfo.SliceInfoView.as_view()),
116     (r'^testbeds/(?P<slicename>[^/]+)/?$', portal.slicetabtestbeds.SliceTabTestbeds.as_view()),
117     (r'^measurements/(?P<slicename>[^/]+)/?$', portal.slicetabmeasurements.SliceTabMeasurements.as_view()),
118     (r'^experiment/(?P<slicename>[^/]+)/?$', portal.slicetabexperiment.ExperimentView.as_view()),
119     
120     
121     url(r'^about/?$', portal.about.AboutView.as_view(), name='about'),
122     
123     url(r'^institution/?$', portal.institution.InstitutionView.as_view(), name='institution'),
124     (r'^management/requests/?$', portal.managementtabrequests.ManagementRequestsView.as_view()),
125     (r'^management/about/?$', portal.managementtababout.ManagementAboutView.as_view()),
126     #
127     url(r'^register/?$', portal.registrationview.RegistrationView.as_view(), name='registration'),
128     url(r'^account/?$', portal.accountview.AccountView.as_view(), name='account'),
129     url(r'^account/account_process/?$', portal.accountview.account_process),
130     url(r'^contact/?$', portal.contactview.ContactView.as_view(), name='contact'),
131     url(r'^terms/?$', portal.termsview.TermsView.as_view(), name='terms'),
132     url(r'^support/?$', portal.supportview.SupportView.as_view(), name='support'),
133     #
134     url(r'^portal/', include('portal.urls')),
135
136     # SLA
137     #url(r'^sla/', include('sla.urls')),
138 ]
139
140 urls.extend( components.urls() )
141
142 #this one would not match the convention
143 # url(r'^debug/', include('debug_platform.urls')),
144 # but it was commented out anyways
145 for aux in auxiliaries:
146     if aux in INSTALLED_APPS:
147         urls.append ( url ( r'^%s/'%aux, include ('%s.urls' % aux )))
148
149 urlpatterns = patterns(*urls)