236e5ca541a585d32e55c42f8f226e82a331e036
[unfold.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     (r'^authority/(?P<action>[^/]+)/?$', 'rest.authority.dispatch'),
92     #
93     # REST monitoring
94     (r'^monitor/services/?$', 'rest.monitor.servicesStatus'),
95     #
96     #(r'^view/?', include('view.urls')),
97     #(r'^list/slices', 'view.list.slices')
98     #
99     # Login widget to be used in an iframe
100     (r'^loginwidget/?$', portal.loginwidget.LoginWidget.as_view()),
101     #
102     # Portal
103     (r'^news/?$', portal.newsview.NewsView.as_view()),
104     (r'^resources/(?P<slicename>[^/]+)/?$', portal.sliceresourceview.SliceResourceView.as_view()),
105     (r'^users/(?P<slicename>[^/]+)/?$', portal.slicetabusers.SliceUserView.as_view()),
106     
107     (r'^slice/(?P<slicename>[^/]+)/?$', portal.sliceview.SliceView.as_view()),
108     (r'^info/(?P<slicename>[^/]+)/?$', portal.slicetabinfo.SliceInfoView.as_view()),
109     (r'^testbeds/(?P<slicename>[^/]+)/?$', portal.slicetabtestbeds.SliceTabTestbeds.as_view()),
110     (r'^measurements/(?P<slicename>[^/]+)/?$', portal.slicetabmeasurements.SliceTabMeasurements.as_view()),
111     (r'^experiment/(?P<slicename>[^/]+)/?$', portal.slicetabexperiment.ExperimentView.as_view()),
112     
113     
114     url(r'^about/?$', portal.about.AboutView.as_view(), name='about'),
115     
116     url(r'^institution/?$', portal.institution.InstitutionView.as_view(), name='institution'),
117     (r'^management/requests/?$', portal.managementtabrequests.ManagementRequestsView.as_view()),
118     (r'^management/about/?$', portal.managementtababout.ManagementAboutView.as_view()),
119     #
120     url(r'^register/?$', portal.registrationview.RegistrationView.as_view(), name='registration'),
121     url(r'^account/?$', portal.accountview.AccountView.as_view(), name='account'),
122     url(r'^account/account_process/?$', portal.accountview.account_process),
123     url(r'^contact/?$', portal.contactview.ContactView.as_view(), name='contact'),
124     url(r'^terms/?$', portal.termsview.TermsView.as_view(), name='terms'),
125     url(r'^support/?$', portal.supportview.SupportView.as_view(), name='support'),
126     #
127     url(r'^portal/', include('portal.urls')),
128
129     # SLA
130     #url(r'^sla/', include('sla.urls')),
131 ]
132
133 urls.extend( components.urls() )
134
135 #this one would not match the convention
136 # url(r'^debug/', include('debug_platform.urls')),
137 # but it was commented out anyways
138 for aux in auxiliaries:
139     if aux in INSTALLED_APPS:
140         urls.append ( url ( r'^%s/'%aux, include ('%s.urls' % aux )))
141
142 urlpatterns = patterns(*urls)