]> git.ozlabs.org Git - patchwork/blob - apps/patchwork/urls.py
Add email opt-out system
[patchwork] / apps / patchwork / urls.py
1 # Patchwork - automated patch tracking system
2 # Copyright (C) 2008 Jeremy Kerr <jk@ozlabs.org>
3 #
4 # This file is part of the Patchwork package.
5 #
6 # Patchwork is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
10 #
11 # Patchwork is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with Patchwork; if not, write to the Free Software
18 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19
20 from django.conf.urls.defaults import *
21 from django.conf import settings
22 from django.contrib.auth import views as auth_views
23
24 urlpatterns = patterns('',
25     # Example:
26     (r'^$', 'patchwork.views.projects'),
27     (r'^project/(?P<project_id>[^/]+)/list/$', 'patchwork.views.patch.list'),
28     (r'^project/(?P<project_id>[^/]+)/$', 'patchwork.views.project.project'),
29
30     # patch views
31     (r'^patch/(?P<patch_id>\d+)/$', 'patchwork.views.patch.patch'),
32     (r'^patch/(?P<patch_id>\d+)/raw/$', 'patchwork.views.patch.content'),
33     (r'^patch/(?P<patch_id>\d+)/mbox/$', 'patchwork.views.patch.mbox'),
34
35     # logged-in user stuff
36     (r'^user/$', 'patchwork.views.user.profile'),
37     (r'^user/todo/$', 'patchwork.views.user.todo_lists'),
38     (r'^user/todo/(?P<project_id>[^/]+)/$', 'patchwork.views.user.todo_list'),
39
40     (r'^user/bundles/$',
41         'patchwork.views.bundle.bundles'),
42     (r'^user/bundle/(?P<bundle_id>[^/]+)/$',
43         'patchwork.views.bundle.bundle'),
44     (r'^user/bundle/(?P<bundle_id>[^/]+)/mbox/$',
45         'patchwork.views.bundle.mbox'),
46
47     (r'^user/link/$', 'patchwork.views.user.link'),
48     (r'^user/unlink/(?P<person_id>[^/]+)/$', 'patchwork.views.user.unlink'),
49
50     # password change
51     url(r'^user/password-change/$', auth_views.password_change,
52             name='auth_password_change'),
53     url(r'^user/password-change/done/$', auth_views.password_change_done,
54             name='auth_password_change_done'),
55
56     # login/logout
57     url(r'^user/login/$', auth_views.login,
58         {'template_name': 'patchwork/login.html'},
59         name = 'auth_login'),
60     url(r'^user/logout/$', auth_views.logout,
61         {'template_name': 'patchwork/logout.html'},
62         name = 'auth_logout'),
63
64     # registration
65     (r'^register/', 'patchwork.views.user.register'),
66
67     # public view for bundles
68     (r'^bundle/(?P<username>[^/]*)/(?P<bundlename>[^/]*)/$',
69                                 'patchwork.views.bundle.public'),
70
71     (r'^confirm/(?P<key>[0-9a-f]+)/$', 'patchwork.views.confirm'),
72
73     # submitter autocomplete
74     (r'^submitter/$', 'patchwork.views.submitter_complete'),
75
76     # email setup
77     (r'^mail/$', 'patchwork.views.mail.settings'),
78     (r'^mail/optout/$', 'patchwork.views.mail.optout'),
79     (r'^mail/optin/$', 'patchwork.views.mail.optin'),
80
81     # help!
82     (r'^help/(?P<path>.*)$', 'patchwork.views.help'),
83 )
84
85 if settings.ENABLE_XMLRPC:
86     urlpatterns += patterns('',
87         (r'xmlrpc/$', 'patchwork.views.xmlrpc.xmlrpc'),
88         (r'^pwclient/$', 'patchwork.views.pwclient'),
89         (r'^project/(?P<project_id>[^/]+)/pwclientrc/$',
90              'patchwork.views.pwclientrc'),
91     )