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