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 # Uncomment the next two lines to enable the admin:
6 # from django.contrib import admin
7 # admin.autodiscover()
8
9 # to enable insert_above stuff
10 from django.template.loader import add_to_builtins
11 add_to_builtins('insert_above.templatetags.insert_tags')
12
13 from settings import auxiliaries, INSTALLED_APPS
14
15 import portal.platformsview
16 import portal.dashboardview
17 import portal.homeview
18 import portal.newsview
19 from portal.registrationview        import RegistrationView
20 home_view=portal.homeview.HomeView.as_view()
21 dashboard_view=portal.dashboardview.DashboardView.as_view()
22 platforms_view=portal.platformsview.PlatformsView.as_view()
23
24 #import portal.testbedlist
25 import portal.sliceview
26 import portal.sliceresourceview
27
28 import portal.slicetabexperiment
29 import portal.slicetabinfo
30 import portal.slicetabtestbeds
31 import portal.slicetabusers
32 import portal.slicetabmeasurements 
33
34 import portal.managementtababout
35 import portal.managementtabrequests
36
37 #### high level choices
38 # main entry point (set to the / URL)
39 # beware that if this view is broken you end up in an endless cycle...
40 # maybe platforms_view would be best on the longer run
41 the_default_view=home_view
42 # where to be redirected after login
43 the_after_login_view=dashboard_view
44 # where to redirect when login is required
45 # might need another one ?
46 the_login_view=home_view
47 admin.autodiscover()
48 urls = [
49     '',
50     # Examples:
51     # url(r'^$', 'myslice.views.home', name='home'),
52     # url(r'^myslice/', include('myslice.foo.urls')),
53     # Uncomment the admin/doc line below to enable admin documentation:
54     # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
55     # Uncomment the next line to enable the admin:
56      url(r'^admin/', include(admin.site.urls)),
57     #
58     # default / view
59     (r'^/?$', the_default_view),
60     #
61     # login / logout
62     (r'^login-ok/?$', the_after_login_view, {'state': 'Welcome to MySlice'} ),
63     #
64     # seems to be what login_required uses to redirect ...
65     (r'^accounts/login/$', the_login_view),
66     (r'^login/?$', the_login_view),
67     (r'^logout/?$', 'auth.views.logout_user'),
68     #
69     # the manifold proxy
70     (r'^manifold/proxy/(?P<format>\w+)/?$', 'manifoldapi.manifoldproxy.proxy'),
71     #
72     #
73     # RESTful interface
74     (r'^rest/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.get.dispatch'),
75     (r'^table/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.get.dispatch'),
76     (r'^datatable/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.get.dispatch'),
77     (r'^update/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.update.dispatch'),
78     (r'^create/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.create.dispatch'),
79     (r'^delete/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.delete.dispatch'),
80     #
81     #
82     #(r'^view/?', include('view.urls')),
83     #(r'^list/slices', 'view.list.slices')
84     #
85     #
86     # Portal
87     (r'^news/?$', portal.newsview.NewsView.as_view()),
88     (r'^resources/(?P<slicename>[^/]+)/?$', portal.sliceresourceview.SliceResourceView.as_view()),
89     (r'^users/(?P<slicename>[^/]+)/?$', portal.slicetabusers.SliceUserView.as_view()),
90     
91     (r'^slice/(?P<slicename>[^/]+)/?$', portal.sliceview.SliceView.as_view()),
92     (r'^info/(?P<slicename>[^/]+)/?$', portal.slicetabinfo.SliceInfoView.as_view()),
93     (r'^testbeds/(?P<slicename>[^/]+)/?$', portal.slicetabtestbeds.SliceTabTestbeds.as_view()),
94     (r'^measurements/(?P<slicename>[^/]+)/?$', portal.slicetabmeasurements.SliceTabMeasurements.as_view()),
95     (r'^experiment/(?P<slicename>[^/]+)/?$', portal.slicetabexperiment.ExperimentView.as_view()),
96     #
97     (r'^management/requests/?$', portal.managementtabrequests.ManagementRequestsView.as_view()),
98     (r'^management/about/?$', portal.managementtababout.ManagementAboutView.as_view()),
99     #
100     url(r'^register/?$', RegistrationView.as_view(), name='registration'),      
101     url(r'^portal/', include('portal.urls')),
102
103     # SLA
104     url(r'^sla/', include('sla.urls')),
105 ]
106
107 #this one would not match the convention
108 # url(r'^debug/', include('debug_platform.urls')),
109 # but it was commented out anyways
110 for aux in auxiliaries:
111     if aux in INSTALLED_APPS:
112         urls.append ( url ( r'^%s/'%aux, include ('%s.urls'%aux )))
113
114 urlpatterns = patterns(*urls)