AiC and REST login
[myslice.git] / portal / urls.py
1 # -*- coding: utf-8 -*-
2 #
3 # portal/urls.py: URL mappings for the portal application
4 # This file is part of the Manifold project.
5 #
6 # Authors:
7 #   Jordan AugĂ© <jordan.auge@lip6.fr
8 #   Loic Baron  <loic.baron@lip6.fr>
9 #   Mohammed Yasin Rahman <mohammed-yasin.rahman@lip6.fr>
10 #   Ciro Scognamiglio   <ciro.scognamiglio@lip6.fr>
11 # Copyright 2013, UPMC Sorbonne UniversitĂ©s / LIP6
12 #
13 # This program is free software; you can redistribute it and/or modify it under
14 # the terms of the GNU General Public License as published by the Free Software
15 # Foundation; either version 3, or (at your option) any later version.
16
17 # This program is distributed in the hope that it will be useful, but WITHOUT
18 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
19 # FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
20 # details.
21
22 # You should have received a copy of the GNU General Public License along with
23 # this program; see the file COPYING.  If not, write to the Free Software
24 # Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
25
26 from django.views.generic.base      import TemplateView
27 from django.conf.urls               import patterns, include, url
28
29 from portal.about                   import AboutView
30 from portal.institution             import InstitutionView
31 from portal.usersview               import UsersView
32 from portal.manageuserview          import UserView, user_process    
33 from portal.platformsview           import PlatformsView
34 from portal.platformview            import PlatformView
35 from portal.resourceview            import ResourceView
36 from portal.dashboardview           import DashboardView
37 from portal.accountview             import AccountView, account_process
38 from portal.contactview             import ContactView
39 from portal.slicerequestview        import SliceRequestView
40 from portal.projectrequestview      import ProjectRequestView
41 from portal.registrationview        import RegistrationView
42 from portal.joinview                import JoinView
43 from portal.sliceviewold            import SliceView
44 from portal.validationview          import ValidatePendingView
45 #from portal.experimentview         import ExperimentView
46 from portal.termsview               import TermsView
47 from portal.univbrisview            import UnivbrisView
48 from portal.univbrisvtam            import UnivbrisVtam
49
50 from portal.manualdelegationview    import ManualDelegationView
51 from portal.releasenotesview       import ReleaseNotesView
52
53 from portal.servicedirectory        import ServiceDirectoryView
54
55 from portal.documentationview       import DocumentationView
56 from portal.supportview             import SupportView
57 from portal.emailactivationview     import ActivateEmailView
58 # hopefully these should move in dedicated source files too
59 from portal.views                   import PresViewView, pres_view_static, pres_view_methods, pres_view_animation
60 from portal.django_passresetview    import password_reset, password_reset_done, password_reset_confirm, password_reset_complete 
61
62 from portal.reputationview      import ReputationView
63
64 # DEPRECATED #named_register_forms = (
65 # DEPRECATED #    ("step1", RegisterUserForm),
66 # DEPRECATED #    ("step2", RegisterUserStep2Form)
67 # DEPRECATED #)
68 # DEPRECATED #
69 # DEPRECATED #register_wizard = RegisterUserWizardView.as_view(named_register_forms,
70 # DEPRECATED #    url_name="register_wizard_step")
71
72 urlpatterns = patterns('',
73     # User registration
74     #url(r'^user/register/?$', UserRegisterView.as_view(), name='user_register'),
75     url(r'^user/register/complete/$',
76         TemplateView.as_view(template_name='user_register_complete.html'),
77         name='user_register_complete'),
78     # User validation
79     #url(r'^user/validate/?$', UserValidateView.as_view(), name='user_validate'),
80     url(r'^dashboard/?$', DashboardView.as_view(), name='dashboard'),
81     #url(r'^my_account/?$', MyAccountView.as_view(), name='my_account'),
82     url(r'^account/?$', AccountView.as_view(), name='account'),
83     url(r'^institution/?$', InstitutionView.as_view(), name='institution'),
84     url(r'^project/(?P<authority_hrn>[\w\.]+)/?$', InstitutionView.as_view(), name='project'),
85     url(r'^about/?$', AboutView.as_view(), name='about'),
86     url(r'^users/?$', UsersView.as_view(), name='user_list'),
87     url(r'^user/(?P<email>[\w\s.@\-]+)/?$', UserView.as_view(), name='user'),
88     url(r'^user/(?P<email>[\w\s.@\-]+)/user_process/?$', user_process),
89     url(r'^platforms/?$', PlatformsView.as_view(), name='platforms'),
90     url(r'^platform/(?P<platformname>[\w\.\-]+)/?$', PlatformView.as_view(), name='platform'),
91     url(r'^resource/(?P<urn>[\w\.\-\+\:]+)/?$', ResourceView.as_view(), name='resource'),
92     url(r'^slice/?$',SliceView.as_view(),name='slice'),
93     url(r'^slice/(?P<slicename>[\w\.]+)/?$', SliceView.as_view(),name='slice'),
94     url(r'^account/account_process/?$', account_process),
95     url(r'^register/?$', RegistrationView.as_view(), name='registration'),
96     url(r'^join/?$', JoinView.as_view(), name='join'),
97     url(r'^contact/?$', ContactView.as_view(), name='contact'),
98     #url(r'^experiment?$', ExperimentView.as_view(), name='experiment'),
99     url(r'^support/?$', SupportView.as_view(), name='support'),
100     url(r'^support/documentation?$', DocumentationView.as_view(), name='FAQ'),
101     #url(r'^pass_reset/?$', PassResetView.as_view(), name='pass_rest'),
102     # Slice request
103     url(r'^slice_request/?$', SliceRequestView.as_view(), name='slice_request'),
104     # Project request
105     url(r'^project_request/?$', ProjectRequestView.as_view(), name='project_request'),
106     url(r'^terms/?$', TermsView.as_view(), name='terms'),
107     url(r'^manual_delegation/?$', ManualDelegationView.as_view(), name='manual_delegation'),
108     url(r'^release_notes/?$', ReleaseNotesView.as_view(), name='release_notes'),
109     # Validate pending requests
110     url(r'^validate/?$', ValidatePendingView.as_view()),
111     # http://stackoverflow.com/questions/2360179/django-urls-how-to-pass-a-list-of-items-via-clean-urls
112     # (r'^validate_action/(?P<constraints>[^/]+)/(?P<id>\w+)/?$', 'portal.views.pres_view_static'),
113     url(r'^validate_action(?P<id>(?:/\w+)+)/?$', 'portal.actions.validate_action'),
114     url(r'^reject_action(?P<id>(?:/\w+)+)/?$', 'portal.actions.reject_action'),
115     url(r'^pres_view/?$', PresViewView.as_view(), name='pres_view'),
116     (r'^methods/(?P<type>\w+)/?$', 'portal.views.pres_view_methods'),
117     (r'^animation/(?P<constraints>[^/]+)/(?P<id>\w+)/?$', 'portal.views.pres_view_animation'),
118     (r'^static/(?P<constraints>[^/]+)/(?P<id>\w+)/?$', 'portal.views.pres_view_static'),
119     #url(r'^slice/request/?$',  views.slice_request,  name='slice_request'),
120     # Slice confirmation
121     #url(r'^slice/validate/?$', views.slice_validate, name='slice_validate'),
122     url(r'^email_activation/(?P<hash_code>[\w\W\-]+)/?$', ActivateEmailView.as_view(), name='email_activate'), 
123     url(r'^pass_reset/$', 
124         'portal.django_passresetview.password_reset', 
125         {'post_reset_redirect' : '/portal/password/reset/done/'}),
126     (r'^password/reset/done/$',
127         'portal.django_passresetview.password_reset_done'),
128     (r'^password/reset/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$', 
129         'portal.django_passresetview.password_reset_confirm', 
130         {'post_reset_redirect' : '/portal/password/done/'}),
131     (r'^password/done/$', 
132         'portal.django_passresetview.password_reset_complete'),
133
134     url(r'^univbris/?$', UnivbrisView.as_view(), name='univbris'),
135     url(r'^univbrisvtam/?$', UnivbrisVtam.as_view(), name='univbrisvtam'),   
136
137     url(r'^servicedirectory/?$', ServiceDirectoryView.as_view(), name='servicedirectory'),
138
139
140     url(r'^reputation/?$', ReputationView.as_view(), name='reputation'),
141     url(r'^reputation/submit_eval/?$', ReputationView.as_view(), name='reputation_submit_eval'),
142     
143     
144 )
145 # (r'^accounts/', include('registration.backends.default.urls')),
146
147
148 # DEPRECATED #    url(r'^$', views.index, name='index'),
149 # DEPRECATED #    url(r"^registerwizard/(?P<step>[-\w]+)/$", register_wizard,
150 # DEPRECATED #        name="register_wizard_step"),
151 # DEPRECATED #    url(r"^registerwizard/$", regster_wizard, name="register_wizard")