Merging with OneLab latest
[unfold.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 # Copyright 2013, UPMC Sorbonne UniversitĂ©s / LIP6
9 #
10 # This program is free software; you can redistribute it and/or modify it under
11 # the terms of the GNU General Public License as published by the Free Software
12 # Foundation; either version 3, or (at your option) any later version.
13
14 # This program is distributed in the hope that it will be useful, but WITHOUT
15 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16 # FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
17 # details.
18
19 # You should have received a copy of the GNU General Public License along with
20 # this program; see the file COPYING.  If not, write to the Free Software
21 # Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22
23 from django.views.generic.base   import TemplateView
24 from django.conf.urls           import patterns, include, url
25
26 from portal.about               import AboutView
27 from portal.institution         import InstitutionView
28 from portal.usersview           import UsersView
29 from portal.manageuserview      import UserView, user_process    
30 from portal.platformsview       import PlatformsView
31 from portal.platformview        import PlatformView
32 from portal.resourceview        import ResourceView
33 from portal.dashboardview       import DashboardView
34 from portal.accountview         import AccountView, account_process
35 from portal.contactview         import ContactView
36 from portal.slicerequestview    import SliceRequestView
37 from portal.registrationview    import RegistrationView
38 from portal.joinview            import JoinView
39 from portal.sliceviewold           import SliceView
40 from portal.validationview      import ValidatePendingView
41 #from portal.experimentview      import ExperimentView
42 from portal.documentationview   import DocumentationView
43 from portal.supportview         import SupportView
44
45 # hopefully these should move in dedicated source files too
46 from portal.views               import PresViewView, pres_view_static, pres_view_methods, pres_view_animation
47 from portal.django_passresetview import password_reset, password_reset_done, password_reset_confirm, password_reset_complete 
48
49 # DEPRECATED #named_register_forms = (
50 # DEPRECATED #    ("step1", RegisterUserForm),
51 # DEPRECATED #    ("step2", RegisterUserStep2Form)
52 # DEPRECATED #)
53 # DEPRECATED #
54 # DEPRECATED #register_wizard = RegisterUserWizardView.as_view(named_register_forms,
55 # DEPRECATED #    url_name="register_wizard_step")
56
57 urlpatterns = patterns('',
58     # User registration
59     #url(r'^user/register/?$', UserRegisterView.as_view(), name='user_register'),
60     url(r'^user/register/complete/$',
61         TemplateView.as_view(template_name='user_register_complete.html'),
62         name='user_register_complete'),
63     # User validation
64     #url(r'^user/validate/?$', UserValidateView.as_view(), name='user_validate'),
65     url(r'^dashboard/?$', DashboardView.as_view(), name='dashboard'),
66     #url(r'^my_account/?$', MyAccountView.as_view(), name='my_account'),
67     url(r'^account/?$', AccountView.as_view(), name='account'),
68     url(r'^institution/?$', InstitutionView.as_view(), name='institution'),
69     url(r'^about/?$', AboutView.as_view(), name='about'),
70     url(r'^users/?$', UsersView.as_view(), name='user_list'),
71     url(r'^user/(?P<email>[\w\s.@\-]+)/?$', UserView.as_view(), name='user'),
72     url(r'^user/(?P<email>[\w\s.@\-]+)/user_process/?$', user_process),
73     url(r'^platforms/?$', PlatformsView.as_view(), name='platforms'),
74     url(r'^platform/(?P<platformname>[\w\.\-]+)/?$', PlatformView.as_view(), name='platform'),
75     url(r'^resource/(?P<urn>[\w\.\-\+\:]+)/?$', ResourceView.as_view(), name='resource'),
76     url(r'^slice/?$',SliceView.as_view(),name='slice'),
77     url(r'^slice/(?P<slicename>[\w\.]+)/?$', SliceView.as_view(),name='slice'),
78     url(r'^account/account_process/?$', account_process),
79     url(r'^register/?$', RegistrationView.as_view(), name='registration'),
80     url(r'^join/?$', JoinView.as_view(), name='join'),
81     url(r'^contact/?$', ContactView.as_view(), name='contact'),
82     #url(r'^experiment?$', ExperimentView.as_view(), name='experiment'),
83     url(r'^support/?$', SupportView.as_view(), name='support'),
84     url(r'^support/documentation?$', DocumentationView.as_view(), name='FAQ'),
85     #url(r'^pass_reset/?$', PassResetView.as_view(), name='pass_rest'),
86     # Slice request
87     url(r'^slice_request/?$', SliceRequestView.as_view(), name='slice_request'),
88     # Validate pending requests
89     url(r'^validate/?$', ValidatePendingView.as_view()),
90     # http://stackoverflow.com/questions/2360179/django-urls-how-to-pass-a-list-of-items-via-clean-urls
91     # (r'^validate_action/(?P<constraints>[^/]+)/(?P<id>\w+)/?$', 'portal.views.pres_view_static'),
92     url(r'^validate_action(?P<id>(?:/\w+)+)/?$', 'portal.actions.validate_action'),
93
94     url(r'^pres_view/?$', PresViewView.as_view(), name='pres_view'),
95     (r'^methods/(?P<type>\w+)/?$', 'portal.views.pres_view_methods'),
96     (r'^animation/(?P<constraints>[^/]+)/(?P<id>\w+)/?$', 'portal.views.pres_view_animation'),
97     (r'^static/(?P<constraints>[^/]+)/(?P<id>\w+)/?$', 'portal.views.pres_view_static'),
98     #url(r'^slice/request/?$',  views.slice_request,  name='slice_request'),
99     # Slice confirmation
100     #url(r'^slice/validate/?$', views.slice_validate, name='slice_validate'),
101     url(r'^pass_reset/$', 
102         'portal.django_passresetview.password_reset', 
103         {'post_reset_redirect' : '/portal/password/reset/done/'}),
104     (r'^password/reset/done/$',
105         'portal.django_passresetview.password_reset_done'),
106     (r'^password/reset/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$', 
107         'portal.django_passresetview.password_reset_confirm', 
108         {'post_reset_redirect' : '/portal/password/done/'}),
109     (r'^password/done/$', 
110         'portal.django_passresetview.password_reset_complete'),
111     # ...
112
113 )
114 # (r'^accounts/', include('registration.backends.default.urls')),
115
116
117 # DEPRECATED #    url(r'^$', views.index, name='index'),
118 # DEPRECATED #    url(r"^registerwizard/(?P<step>[-\w]+)/$", register_wizard,
119 # DEPRECATED #        name="register_wizard_step"),
120 # DEPRECATED #    url(r"^registerwizard/$", regster_wizard, name="register_wizard")