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