1 from django.conf.urls import patterns, include, url
2 from django.conf import settings
3 from django.contrib import admin
5 # Uncomment the next two lines to enable the admin:
6 # from django.contrib import admin
9 # to enable insert_above stuff
10 from django.template.loader import add_to_builtins
11 add_to_builtins('insert_above.templatetags.insert_tags')
13 from settings import auxiliaries, INSTALLED_APPS
15 import portal.platformsview
16 import portal.dashboardview
17 import portal.homeview
18 import portal.newsview
20 import plugins.cafe.edelberto
22 from portal.about import AboutView
23 from portal.registrationview import RegistrationView
24 from portal.accountview import AccountView, account_process
25 from portal.institution import InstitutionView
27 from portal.supportview import SupportView
28 from portal.contactview import ContactView
30 from portal.termsview import TermsView
32 home_view=portal.homeview.HomeView.as_view()
33 dashboard_view=portal.dashboardview.DashboardView.as_view()
34 platforms_view=portal.platformsview.PlatformsView.as_view()
36 #import portal.testbedlist
37 import portal.sliceview
38 import portal.sliceresourceview
40 import portal.slicetabexperiment
41 import portal.slicetabinfo
42 import portal.slicetabtestbeds
43 import portal.slicetabusers
44 import portal.slicetabmeasurements
46 import portal.managementtababout
47 import portal.managementtabrequests
49 #### high level choices
50 # main entry point (set to the / URL)
51 # beware that if this view is broken you end up in an endless cycle...
52 # maybe platforms_view would be best on the longer run
53 the_default_view=home_view
54 # where to be redirected after login
55 the_after_login_view=dashboard_view
56 # where to redirect when login is required
57 # might need another one ?
58 the_login_view=home_view
63 # url(r'^$', 'myslice.views.home', name='home'),
64 # url(r'^myslice/', include('myslice.foo.urls')),
65 # Uncomment the admin/doc line below to enable admin documentation:
66 # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
67 # Uncomment the next line to enable the admin:
68 url(r'^admin/', include(admin.site.urls)),
71 (r'^/?$', the_default_view),
74 (r'^login-ok/?$', the_after_login_view, {'state': 'Welcome to MySlice'} ),
76 # seems to be what login_required uses to redirect ...
77 (r'^accounts/login/$', the_login_view),
78 (r'^login/?$', the_login_view),
79 (r'^logout/?$', 'auth.views.logout_user'),
82 (r'^manifold/proxy/(?P<format>\w+)/?$', 'manifoldapi.manifoldproxy.proxy'),
86 (r'^rest/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.get.dispatch'),
87 (r'^table/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.get.dispatch'),
88 (r'^datatable/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.get.dispatch'),
89 (r'^update/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.update.dispatch'),
90 (r'^create/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.create.dispatch'),
91 (r'^delete/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.delete.dispatch'),
92 (r'^credentials/(?P<action>[^/]+)/?$', 'rest.credentials.dispatch'),
95 (r'^monitor/services/?$', 'rest.monitor.servicesStatus'),
97 #(r'^view/?', include('view.urls')),
98 #(r'^list/slices', 'view.list.slices')
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()),
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()),
112 url(r'^about/?$', AboutView.as_view(), name='about'),
114 url(r'^institution/?$', InstitutionView.as_view(), name='institution'),
115 (r'^management/requests/?$', portal.managementtabrequests.ManagementRequestsView.as_view()),
116 (r'^management/about/?$', portal.managementtababout.ManagementAboutView.as_view()),
118 url(r'^register/?$', RegistrationView.as_view(), name='registration'),
119 url(r'^account/?$', AccountView.as_view(), name='account'),
120 url(r'^account/account_process/?$', account_process),
121 url(r'^contact/?$', ContactView.as_view(), name='contact'),
122 url(r'^terms/?$', TermsView.as_view(), name='terms'),
123 url(r'^support/?$', SupportView.as_view(), name='support'),
125 url(r'^portal/', include('portal.urls')),
128 url(r'^sla/', include('sla.urls')),
131 #this one would not match the convention
132 # url(r'^debug/', include('debug_platform.urls')),
133 # but it was commented out anyways
134 for aux in auxiliaries:
135 if aux in INSTALLED_APPS:
136 urls.append ( url ( r'^%s/'%aux, include ('%s.urls'%aux )))
138 urlpatterns = patterns(*urls)
140 # Shibboleth - Edelberto
141 urlpatterns += patterns('',
142 url(r'^cafe/', plugins.cafe.edelberto.EdelbertoView.as_view()),
143 #url(r'^cafe/', 'plugins.cafe.edelberto.index'),