loads dynamically components
[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 from django.template.loader import add_to_builtins
16 add_to_builtins('insert_above.templatetags.insert_tags')
17
18 from settings import auxiliaries, INSTALLED_APPS
19
20 import portal.about
21 import portal.institution
22 import portal.registrationview
23 import portal.accountview
24 import portal.contactview
25 import portal.termsview
26 import portal.supportview
27
28 import portal.platformsview
29 import portal.dashboardview
30 import portal.homeview
31 import portal.newsview
32 import portal.loginwidget
33
34 platforms_view=portal.platformsview.PlatformsView.as_view()
35
36 #import portal.testbedlist
37 import portal.sliceview
38 import portal.sliceresourceview
39
40 import portal.slicetabexperiment
41 import portal.slicetabinfo
42 import portal.slicetabtestbeds
43 import portal.slicetabusers
44 import portal.slicetabmeasurements 
45
46 import portal.managementtababout
47 import portal.managementtabrequests
48
49 urls = [
50     '',
51     # Examples:
52     # url(r'^$', 'myslice.views.home', name='home'),
53     # url(r'^myslice/', include('myslice.foo.urls')),
54     # Uncomment the admin/doc line below to enable admin documentation:
55     # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
56     # Uncomment the next line to enable the admin:
57     url(r'^admin/', include(admin.site.urls)),
58     #
59     # default / view
60     (r'^/?$', portal.homeview.HomeView.as_view()),
61     #
62     # login / logout
63     (r'^login-ok/?$', portal.dashboardview.DashboardView.as_view(), {'state': 'Welcome to MySlice'} ),
64     #
65     # seems to be what login_required uses to redirect ...
66     (r'^accounts/login/$', portal.homeview.HomeView.as_view()),
67     (r'^login/?$', portal.homeview.HomeView.as_view()),
68     (r'^logout/?$', 'auth.views.logout_user'),
69     #
70     # the manifold proxy
71     (r'^manifold/proxy/(?P<format>\w+)/?$', 'manifoldapi.manifoldproxy.proxy'),
72     #
73     #
74     # RESTful interface
75     (r'^rest/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.get.dispatch'),
76     (r'^sfa/(?P<method>[^/]+)/?$', 'rest.sfa_api.dispatch'),
77     (r'^table/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.get.dispatch'),
78     (r'^datatable/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.get.dispatch'),
79     (r'^update/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.update.dispatch'),
80     (r'^create/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.create.dispatch'),
81     (r'^delete/(?P<object_type>[^/]+)/(?P<object_name>[^/]+)?/?$', 'rest.delete.dispatch'),
82     (r'^credentials/(?P<action>[^/]+)/?$', 'rest.credentials.dispatch'),
83     (r'^cache/(?P<action>[^/]+)/?$', 'rest.cache.dispatch'),
84     (r'^initscript/(?P<action>[^/]+)/?$', 'rest.initscript.dispatch'),
85     #
86     # REST monitoring
87     (r'^monitor/services/?$', 'rest.monitor.servicesStatus'),
88     #
89     #(r'^view/?', include('view.urls')),
90     #(r'^list/slices', 'view.list.slices')
91     #
92     # Login widget to be used in an iframe
93     (r'^loginwidget/?$', portal.loginwidget.LoginWidget.as_view()),
94     #
95     # Portal
96     (r'^news/?$', portal.newsview.NewsView.as_view()),
97     (r'^resources/(?P<slicename>[^/]+)/?$', portal.sliceresourceview.SliceResourceView.as_view()),
98     (r'^users/(?P<slicename>[^/]+)/?$', portal.slicetabusers.SliceUserView.as_view()),
99     
100     (r'^slice/(?P<slicename>[^/]+)/?$', portal.sliceview.SliceView.as_view()),
101     (r'^info/(?P<slicename>[^/]+)/?$', portal.slicetabinfo.SliceInfoView.as_view()),
102     (r'^testbeds/(?P<slicename>[^/]+)/?$', portal.slicetabtestbeds.SliceTabTestbeds.as_view()),
103     (r'^measurements/(?P<slicename>[^/]+)/?$', portal.slicetabmeasurements.SliceTabMeasurements.as_view()),
104     (r'^experiment/(?P<slicename>[^/]+)/?$', portal.slicetabexperiment.ExperimentView.as_view()),
105     
106     
107     url(r'^about/?$', portal.about.AboutView.as_view(), name='about'),
108     
109     url(r'^institution/?$', portal.institution.InstitutionView.as_view(), name='institution'),
110     (r'^management/requests/?$', portal.managementtabrequests.ManagementRequestsView.as_view()),
111     (r'^management/about/?$', portal.managementtababout.ManagementAboutView.as_view()),
112     #
113     url(r'^register/?$', portal.registrationview.RegistrationView.as_view(), name='registration'),
114     url(r'^account/?$', portal.accountview.AccountView.as_view(), name='account'),
115     url(r'^account/account_process/?$', portal.accountview.account_process),
116     url(r'^contact/?$', portal.contactview.ContactView.as_view(), name='contact'),
117     url(r'^terms/?$', portal.termsview.TermsView.as_view(), name='terms'),
118     url(r'^support/?$', portal.supportview.SupportView.as_view(), name='support'),
119     #
120     url(r'^portal/', include('portal.urls')),
121
122     # SLA
123 #    url(r'^sla/', include('sla.urls')),
124 ]
125
126 urls.extend( components.urls() )
127
128 #this one would not match the convention
129 # url(r'^debug/', include('debug_platform.urls')),
130 # but it was commented out anyways
131 for aux in auxiliaries:
132     if aux in INSTALLED_APPS:
133         urls.append ( url ( r'^%s/'%aux, include ('%s.urls' % aux )))
134
135 urlpatterns = patterns(*urls)