1 # -*- coding: utf-8 -*-
3 # portal/urls.py: URL mappings for the portal application
4 # This file is part of the Manifold project.
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
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.
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
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.
26 from django.views.generic.base import TemplateView
27 from django.conf.urls import patterns, include, url
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
50 from portal.manualdelegationview import ManualDelegationView
51 from portal.releasenotesview import ReleaseNotesView
53 from portal.servicedirectory import ServiceDirectoryView
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
62 from portal.reputationview import ReputationView
64 # DEPRECATED #named_register_forms = (
65 # DEPRECATED # ("step1", RegisterUserForm),
66 # DEPRECATED # ("step2", RegisterUserStep2Form)
69 # DEPRECATED #register_wizard = RegisterUserWizardView.as_view(named_register_forms,
70 # DEPRECATED # url_name="register_wizard_step")
72 urlpatterns = patterns('',
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'),
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'),
103 url(r'^slice_request/?$', SliceRequestView.as_view(), name='slice_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'),
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'),
134 url(r'^univbris/?$', UnivbrisView.as_view(), name='univbris'),
135 url(r'^univbrisvtam/?$', UnivbrisVtam.as_view(), name='univbrisvtam'),
137 url(r'^servicedirectory/?$', ServiceDirectoryView.as_view(), name='servicedirectory'),
140 url(r'^reputation/?$', ReputationView.as_view(), name='reputation'),
141 url(r'^reputation/submit_eval/?$', ReputationView.as_view(), name='reputation_submit_eval'),
145 # (r'^accounts/', include('registration.backends.default.urls')),
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")