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