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