c1ca5b1653a9e498fa5dad5dd5a1885ea393db1d
[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 # 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.adminview           import AdminView
27 from portal.platformsview       import PlatformsView
28 from portal.platformview        import PlatformView
29 from portal.resourceview        import ResourceView
30 from portal.dashboardview       import DashboardView
31 from portal.accountview         import AccountView, account_process
32 from portal.manageuserview      import UserView, user_process    
33 from portal.contactview         import ContactView
34 from portal.slicerequestview    import SliceRequestView
35 from portal.registrationview    import RegistrationView
36 from portal.joinview            import JoinView
37 from portal.sliceview           import SliceView
38 from portal.validationview      import ValidatePendingView
39
40 # hopefully these should move in dedicated source files too
41 from portal.views               import PresViewView, pres_view_static, pres_view_methods, pres_view_animation
42 from portal.django_passresetview import password_reset, password_reset_done, password_reset_confirm, password_reset_complete 
43
44 # DEPRECATED #named_register_forms = (
45 # DEPRECATED #    ("step1", RegisterUserForm),
46 # DEPRECATED #    ("step2", RegisterUserStep2Form)
47 # DEPRECATED #)
48 # DEPRECATED #
49 # DEPRECATED #register_wizard = RegisterUserWizardView.as_view(named_register_forms,
50 # DEPRECATED #    url_name="register_wizard_step")
51
52 urlpatterns = patterns('',
53     # User registration
54     #url(r'^user/register/?$', UserRegisterView.as_view(), name='user_register'),
55     url(r'^user/register/complete/$',
56         TemplateView.as_view(template_name='user_register_complete.html'),
57         name='user_register_complete'),
58     # User validation
59     #url(r'^user/validate/?$', UserValidateView.as_view(), name='user_validate'),
60     url(r'^dashboard/?$', DashboardView.as_view(), name='dashboard'),
61     #url(r'^my_account/?$', MyAccountView.as_view(), name='my_account'),
62     url(r'^account/?$', AccountView.as_view(), name='account'),
63     url(r'^admin/?$', AdminView.as_view(), name='user_list'),
64     url(r'^user/(?P<email>[\w\s.@\-]+)/?$', UserView.as_view(), name='user'),
65     url(r'^user/(?P<email>[\w\s.@\-]+)/user_process/?$', user_process),
66     url(r'^platforms/?$', PlatformsView.as_view(), name='platforms'),
67     url(r'^platform/(?P<platformname>[\w\.\-]+)/?$', PlatformView.as_view(), name='platform'),
68     url(r'^resource/(?P<urn>[\w\.\-\+\:]+)/?$', ResourceView.as_view(), name='resource'),
69     url(r'^slice/?$',SliceView.as_view(),name='slice'),
70     url(r'^slice/(?P<slicename>[\w\.]+)/?$', SliceView.as_view(),name='slice'),
71     url(r'^account/account_process/?$', account_process),
72     url(r'^register/?$', RegistrationView.as_view(), name='registration'),
73     url(r'^join/?$', JoinView.as_view(), name='join'),
74     url(r'^contact/?$', ContactView.as_view(), name='contact'),
75     #url(r'^pass_reset/?$', PassResetView.as_view(), name='pass_rest'),
76     # Slice request
77     url(r'^slice_request/?$', SliceRequestView.as_view(), name='slice_request'),
78     # Validate pending requests
79     url(r'^validate/?$', ValidatePendingView.as_view()),
80     # http://stackoverflow.com/questions/2360179/django-urls-how-to-pass-a-list-of-items-via-clean-urls
81     # (r'^validate_action/(?P<constraints>[^/]+)/(?P<id>\w+)/?$', 'portal.views.pres_view_static'),
82     url(r'^validate_action(?P<id>(?:/\w+)+)/?$', 'portal.actions.validate_action'),
83
84     url(r'^pres_view/?$', PresViewView.as_view(), name='pres_view'),
85     (r'^methods/(?P<type>\w+)/?$', 'portal.views.pres_view_methods'),
86     (r'^animation/(?P<constraints>[^/]+)/(?P<id>\w+)/?$', 'portal.views.pres_view_animation'),
87     (r'^static/(?P<constraints>[^/]+)/(?P<id>\w+)/?$', 'portal.views.pres_view_static'),
88     #url(r'^slice/request/?$',  views.slice_request,  name='slice_request'),
89     # Slice confirmation
90     #url(r'^slice/validate/?$', views.slice_validate, name='slice_validate'),
91     url(r'^pass_reset/$', 
92         'portal.django_passresetview.password_reset', 
93         {'post_reset_redirect' : '/portal/password/reset/done/'}),
94     (r'^password/reset/done/$',
95         'portal.django_passresetview.password_reset_done'),
96     (r'^password/reset/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$', 
97         'portal.django_passresetview.password_reset_confirm', 
98         {'post_reset_redirect' : '/portal/password/done/'}),
99     (r'^password/done/$', 
100         'portal.django_passresetview.password_reset_complete'),
101     # ...
102
103 )
104 # (r'^accounts/', include('registration.backends.default.urls')),
105
106
107 # DEPRECATED #    url(r'^$', views.index, name='index'),
108 # DEPRECATED #    url(r"^registerwizard/(?P<step>[-\w]+)/$", register_wizard,
109 # DEPRECATED #        name="register_wizard_step"),
110 # DEPRECATED #    url(r"^registerwizard/$", regster_wizard, name="register_wizard")